Hi Leute
Ich habe lange und leider auch vergeblich eine Lösung für mein Problem gesucht. Ich hoffe Ihr könnt mir dabei helfen.
Das Problem ist folgendes: Ich habe ein wirklich simples RMI-Programm geschrieben.
Der Server erzeugt sich selbst eine Registry und registriert sich. Weiters hat er nur noch eine einzige Methode um sich zu beenden. Die Terminierung wird mit System.exit(0) erzwungen.
Der Client ist auch ganz simple: Er verbindet sich mit dem Server und versucht die dortige Methode zur Terminierung auszuführen.
Nun kommt aber der Haken an der ganzen Sache: Wenn die Methode ausgeführt wird erhalte ich folgende Exception:
Der Server wird aber planmäßig beendet. Nur der Client bekommt diese Exception. Was habe ich vergessen zu machen bzw. was mache ich falsch?
Danke für die Hilfe
Ich habe lange und leider auch vergeblich eine Lösung für mein Problem gesucht. Ich hoffe Ihr könnt mir dabei helfen.
Das Problem ist folgendes: Ich habe ein wirklich simples RMI-Programm geschrieben.
Der Server erzeugt sich selbst eine Registry und registriert sich. Weiters hat er nur noch eine einzige Methode um sich zu beenden. Die Terminierung wird mit System.exit(0) erzwungen.
Der Client ist auch ganz simple: Er verbindet sich mit dem Server und versucht die dortige Methode zur Terminierung auszuführen.
Nun kommt aber der Haken an der ganzen Sache: Wenn die Methode ausgeführt wird erhalte ich folgende Exception:
Code:
java.rmi.UnmarshalException: Error unmarshaling return header; nested exception
is: java.io.EOFException
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:203)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:133)
at systest.testRMI.Server_Stub.terminate(Unknown Source)
at systest.testRMI.TestClient.main(TestClient.java:41)
Caused by: java.io.EOFException
at java.io.DataInputStream.readByte(DataInputStream.java:333)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:189)
Danke für die Hilfe