ThreadをXMLに拡張するクラスをマーシャリングしようとしています。コードは次のとおりです。
@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.
私がこれを正しく理解していれば、それがスレッドを拡張するという事実がこの問題を引き起こしますが、ネット上で解決策を見たことがありません。
クラスを実行可能に実装するオブジェクトにする以外に、これに対する解決策または回避策を知っている人はいますか?