[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