[Java lista] RMI segítség folytatás
Koller Pál
koller.pal at novohost.hu
2006. Dec. 12., K, 17:02:02 CET
Sziasztok!
Újra elkezdtem piszkálni "ezt az RMI-t". Elsőre 1 apróság miatt sem
sikerült.
Az app szerintem kilépett!! Nem volt miért bent maradnia a memóriában.
De egy Thread-del megoldottam. A regisztráció sikerült.
obj=new Server(); sever implements calculator
interface calculator extends Remote,
Serializable
LocateRegistry.createRegistry( Registry.REGISTRY_PORT ).bind( name,
obj );
Ez ok.
A kliensnél van gond.
String[] list;
list=Naming.list( server );
for( int i=0; i<list.length; i++ )
{
LogManager.getLogManager().getLogger( "global" ).log(
java.util.logging.Level.WARNING,
list[i] );
}
Ez tök jó
2006.12.12. 16:26:26 client.clientRun main
WARNING: //localhost:1099/Calculator
Tehát megtalálta a registry-ben a Calculator-t. Nem várt
eredmény.
remoteObject= ( calculator ) Naming.lookup( url );
Ezt dobja.
MIÉRT???????
2006.12.12. 16:27:39 client.clientRun main
WARNING: RemoteException error
java.rmi.UnmarshalException: error unmarshalling return; nested
exception is:
java.lang.ClassNotFoundException: server.Server
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Naming.java:84)
at client.clientRun.main(clientRun.java:30)
Caused by: java.lang.ClassNotFoundException: server.Server
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at
sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:430)
at
sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
at
java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:631)
at
java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:257)
at
sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:2
00)
at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1513)
at
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626
)
at
java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
at
java.io.ObjectInputStream.readObject(ObjectInputStream.java:324)
... 3 more
A server osztály mellett van
Server_Skel
implements java.rmi.server.Skeleton
Server_Stub
extends java.rmi.server.RemoteStub
implements server.calculator
További információk a(z) Javalist levelezőlistáról