Schönen guten Tag,
bei der Fehlersuche in meinem RMI-Programm scheint gerade etwas nicht zu funktionieren, was ich bisher immer als gegeben vorrausgesetzt hatte.
Server übergibt ein objektA der KlasseA (extends Remote) und ein objektB der KlasseB (extends Remote) an den Client. Der Client ruft nun eine Methode tueWas(KlasseA objektA) bei objektB auf und übergibt als Parameter ObjektA. Soweit alles kein Problem.
Nun wird in der Methode objektB.tueWas(objektA) eine Methode von objektA aufgerufen: tueAuchWas(). In tueAuchWas() wird ein objektC der KlasseC erzeugt und zurückgibt. Dieses Objekt verlässt nie den Server, aber ist halt ein Rückgabewert eine Remotobjekts. Daher erhalte ich eine Exception, dass KlasseC serializable sein muss. Kann man das elegant umgehen, indem man dem Programm irgendwie klar macht, dass das objektC nie den Server verlässt und daher nicht serializable sein muss?
Ich hoffe, man konnte verstehen, was mein Problem ist. ;-)
Viele Grüße!
bei der Fehlersuche in meinem RMI-Programm scheint gerade etwas nicht zu funktionieren, was ich bisher immer als gegeben vorrausgesetzt hatte.
Server übergibt ein objektA der KlasseA (extends Remote) und ein objektB der KlasseB (extends Remote) an den Client. Der Client ruft nun eine Methode tueWas(KlasseA objektA) bei objektB auf und übergibt als Parameter ObjektA. Soweit alles kein Problem.
Nun wird in der Methode objektB.tueWas(objektA) eine Methode von objektA aufgerufen: tueAuchWas(). In tueAuchWas() wird ein objektC der KlasseC erzeugt und zurückgibt. Dieses Objekt verlässt nie den Server, aber ist halt ein Rückgabewert eine Remotobjekts. Daher erhalte ich eine Exception, dass KlasseC serializable sein muss. Kann man das elegant umgehen, indem man dem Programm irgendwie klar macht, dass das objektC nie den Server verlässt und daher nicht serializable sein muss?
Ich hoffe, man konnte verstehen, was mein Problem ist. ;-)
Viele Grüße!