bekam ein Problem mit meinem RMI-Test ...Java RMI - NoSuchObjectException: kein solches Objekt in der Tabelle
Server:
LocateRegistry.createRegistry(non-default-port);
obj = new HelloImpl();
Naming.rebind("//ip-of-server/HelloServer", obj);
Auftraggeber:
RMISocketFactory.setSocketFactory(new sun.rmi.transport.proxy.RMIHttpToCGISocketFactory());
obj = (Hello) LocateRegistry.getRegistry("ip of server", non-default-port).lookup("HelloServer");
obj.sayHello("test");
(nur via HTTP Proxy!)
Alle Objekte sind statisch in der Klasse ..
Aber ich bekomme eine "java.rmi.NoSuchObjectException: kein solches Objekt in der Tabelle" -Exception die ganze Zeit .. Dies geschieht nur, wenn ich den HTTP-Tunneling über
verwendenRMISocketFactory.setSocketFactory(new sun.rmi.transport.proxy.RMIHttpToCGISocketFactory());
Wenn ich es ohne den HTTP-Tunneling versuchen (von einem anderen PC im normalen Netz), es funktioniert gut!
Was könnte das Problem sein?
danke für Ihre Antwort! In meinem Client bereits als statisch deklariert: static Registry reg; \t statisch Hallo obj; aber das hat nicht funktioniert .. – naja08
'createRegistry()' wird vom Server, nicht der Client aufgerufen. Ich beziehe mich auf den Server. – EJP
Versucht, dass auch .. immer noch nicht funktioniert:/ – naja08