Bruno MARQUIE wrote:

Bonjour a tous,
je me lance dans la reprise d'un projet deja bien commence (utilisant
RMI) et je me suis dit pourquoi ne pas me mettre a ANT (avec Eclipse)>
Or j'ai quelque problemes, qui viennent certainement de mauvaises
declarations de variables d'environnement. Voici le bout de code qui leve une erreur

public void bind(Remote o, String name) {
System.out.println("binds " + name);
try {
Registry registry = LocateRegistry.createRegistry(1098);
}
catch (RemoteException ex) {
System.out.println("Can't create the registry");
ex.printStackTrace();
}
try {
LocateRegistry.getRegistry().rebind(name, o);
}
catch (Exception ex) {
System.err.println("Can't bind the " + name);
ex.printStackTrace();
System.exit(0);
}
}



Voici la trace :

binds GlobalMaker
Can't bind the GlobalMaker
java.rmi.ServerException: RemoteException occurred in server thread;
nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested
exception is: java.lang.ClassNotFoundException: com.toto.titi.GlobalMakerImpl_Stub
...

Je suis sous solaris, je lance dans une Xterm , le rmiregistry et je
lance ensuite mon script ant sous Eclipse.
Je n'arrive pas a declarer une tache rmiregstry sous ant sans bloquer
l'execution... Si je precise la tache suivante :
<target name="rmiregistry">
<exec executable="rmiregistry"/
</target>
l'execution est bloquee, mes autres taches ne s'executent pas. C'est
pourquoi je lance mon rmiregistry a part dans un Xterm. Comment faire?

Ensuite je souhaite executer la classe contenant le bout de code du
debut. La methode principale de cette classe, va ensuite rentrer dans
une boucle infinie et donc elle aussi bloquer la suite de mes taches.
j'ai bien precise fork = true dans l'element java de ant mais ca n'y
fait rien. Comment faire?

Et pour finir :), l'erreur du debut semble etre du au fait qu'une classe
ne peut etre localisee. pourtant cette classe est bien presente. et les
autres classe du package titi sont bien trouvees dans le reste de
l'appli.Avez vous une idee?

t'en es sur ? tu l'as compile avec le rmi compiler ?
tu l'as inclus dans le jar client ?
jar tvf tonjar.jar| grep TonStub.class  pour en etre  sur..

Jerome

Répondre à