2012-11-05 5 views
1

나는 XML에 스레드를 확장하는 클래스를 마샬링하는 시도하고는 코드는 다음과 같습니다JAXB를 사용하여 활성 객체를 마샬링합니까? 다음과 같이

@XmlRootElement 
public class TransitionXML extends Thread { 

ArcXML[] preArcs; 
ArcXML[] postArcs; 
int[] preArcTokens; 
int[] postArcTokens; 
int leastTime; 
int longestTime; 
String name; 

//some methods 

//a lot of get-set 

@Override 
public void run() { 
    while (true) { 
     if (this.postTransition() & this.preTransition()) { 
      //We take out the tokens. 
      this.executePreTranstion(); 
      this.checkPreTransition(); 


      try { 
       this.sleep(1000 * this.getTimeToPass()); 
      } catch (InterruptedException ex) { 
       Logger.getLogger(TransitionXML.class.getName()).log(Level.SEVERE, null, ex); 
      } 

      //We see if we can put them in. 
      if (this.postTransition()) { 
       this.executePostTranstion(); 
       this.checkPostTransition(); 
      } 

     } else { 
      try { 
       this.sleep(2000); 
      } catch (InterruptedException ex) { 
       Logger.getLogger(TransitionXML.class.getName()).log(Level.SEVERE, null, ex); 
      } 
     } 
    } 
} 


} 

public TransitionXML() 
{ 

} 

} 

}이 오류로 날 리드

: 내가 올바르게 이해하면 com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 2 counts of IllegalAnnotationExceptions java.lang.Thread$UncaughtExceptionHandler is an interface, and JAXB can't handle interfaces. ... java.lang.Thread$UncaughtExceptionHandler does not have a no-arg default constructor.

스레드를 확장한다는 사실 때문에이 문제가 발생하지만 그물에서 솔루션을 보지 못했습니다.

누구나 해결책 또는 해결 방법을 알고 있나요? 클래스를 실행 가능 객체를 구현하는 객체로 만드는 것 외에 다른 사람이 있습니까?

답변

1

참고 : 저는 EclipseLink JAXB (MOXy)이며 JAXB (JSR-222) 전문가 그룹의 구성원입니다.

MOXy를 JAXB 제공 업체로 사용하는 경우 TransitionXML 클래스를 그대로 사용할 수 있습니다. 이는 MOXy가 java.lang.Thread과 같은 java 또는 javax 패키지의 클래스에 대한 메타 데이터를 만들려고 시도하지 않기 때문입니다.

다음과 같은 위치에서 MOXY 바이너리를 얻을 수 있습니다

이 JAXB 공급자로 MOXY를 지정하려면이 파일을 둘 필요가 도메인과 동일한 패키지에 jaxb.properties라고 수업에 다음 항목이 포함되어 있습니다 (http://blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html 참조).

javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory 
+0

Netbeans을 사용하고 있다는 것을 잊어 버렸습니다. 아마도 Moxy에 플러그인을 추가 할 방법이 있습니까? –