Ich bin kürzlich über das folgende Verhalten gestolpert. Ich habe eine Anwendung, die die -XstartOnFirstThread gesetzt werden muss. Und wenn ich dieses Flag auf die VM setze und versuche, Objekte in einem anderen Thread zu deserialisieren, hängt es einfach. das Beispiel Siehe unten:XStream und -XstartOnFirstThread
import java.awt.Rectangle;
import com.thoughtworks.xstream.XStream;
public class XStreamTest {
public static void main(String[] args) {
new Thread(() -> {
XStream x = new XStream();
Rectangle r = new Rectangle();
String xml = x.toXML(r);
Object o = x.fromXML(xml);
System.out.println("ready");
return;
}).start();
}
}
Da es an dem Classloader zu blockieren scheint, ich denke, es das Problem gefunden werden soll. Ich habe den gleichen Test mit javafx.scene.shape.Rectangle
gemacht und diesmal hat es funktioniert.
Also muss es ein Problem mit AWT-Klassen und mit startOnFirstThread ?! Vielleicht kann mir jemand einen Hinweis in die richtige Richtung geben, was diese Probleme verursacht.
Vielen Dank im Voraus!