Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Errore con RMI

0 views
Skip to first unread message

Elbrethril

unread,
Mar 1, 2007, 8:36:13 AM3/1/07
to
Salve sto creando un programma che usa RMI.
Praticamente il client deve inviare una classe all'oggetto RMI che
deve calcolare un risultato utilizzando i metodi di questa classe..
ho provato pero' trovo questo errore

java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is:
java.lang.ClassNotFoundException: Somma (no security manager: RMI
class loader disabled)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:
285)
at sun.rmi.transport.Transport$1.run(Transport.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:149)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:
460)
at sun.rmi.transport.tcp.TCPTransport
$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: Somma (no security
manager: RMI class loader disabled)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:371)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:165)
at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:
620)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
at
sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:
197)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:
1538)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:
1460)
at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1427)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1282)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
at sun.rmi.server.UnicastRef.unmarshalValue(UnicastRef.java:290)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:
279)
... 6 more

credo di aver fatto tutto nella norma pero'....
cosa sbaglierei?

ricca...@email.it

unread,
Mar 2, 2007, 4:52:24 AM3/2/07
to


Il prob e che rmiregistry non trova le tue classi
(ClassNotFoundException)
hai due possibilita'
1) fai partire RMIRegistry dalla dir che contiene le tue classi ( o la
die che contiene il loro primo package se stanno in un package)
2) metti la dir di cui sopra nel CLASSPATH

Elbrethril

unread,
Mar 13, 2007, 8:16:18 AM3/13/07
to
> Il prob e che rmiregistry non trova le tue classi
> (ClassNotFoundException)
> hai due possibilita'
> 1) fai partire RMIRegistry dalla dir che contiene le tue classi ( o la
> die che contiene il loro primo package se stanno in un package)
> 2) metti la dir di cui sopra nel CLASSPATH

Ho provato a mettere la dir nel CLASSPATH.. ma non cambia niente...
per quanto riguarda l'RMIRegistry come dovrei fare a farlo partire
nella classe desiderata? Ho provato a copiare il file con lo stub in
ogni cartella per prova... ma non cambia niente... Sbaglio ancora?

Elbrethril

unread,
Mar 13, 2007, 8:22:35 AM3/13/07
to
> Il prob e che rmiregistry non trova le tue classi
> (ClassNotFoundException)
> hai due possibilita'
> 1) fai partire RMIRegistry dalla dir che contiene le tue classi ( o la
> die che contiene il loro primo package se stanno in un package)
> 2) metti la dir di cui sopra nel CLASSPATH

Ho provato a mettere la dir nel CLASSPATH.. (ho provato a meterle
tutte) ma il risultata non cambia...
invece come dovrei fare per far partire RMIRegistry dalla dir che
contiene le classi... perche' io lo creo con
RemoteInterface interf = (RemoteInterface)
UnicastRemoteObject.exportObject(ri, REGISTRYPORT);

Registry reg = LocateRegistry.createRegistry(REGISTRYPORT);
sbaglio ancora?

Grazie

Elbrethril

unread,
Mar 13, 2007, 8:34:32 AM3/13/07
to
> Il prob e che rmiregistry non trova le tue classi
> (ClassNotFoundException)
> hai due possibilita'
> 1) fai partire RMIRegistry dalla dir che contiene le tue classi ( o la
> die che contiene il loro primo package se stanno in un package)
> 2) metti la dir di cui sopra nel CLASSPATH

Ho provato a mettere le dir nel CLASSPATH (ce le ho messe tutte quelle
che contengono il progetto... ) ma il risultato non cambia...
per l'RMIRegistry io lo creo cosi':

Registry reg = null;
RemoteInterface interf = null;


interf = (RemoteInterface) UnicastRemoteObject.exportObject(ri,
REGISTRYPORT);

reg = LocateRegistry.createRegistry(REGISTRYPORT);
reg.rebind("oggetto",interf);

sbaglio ancora?

0 new messages