Bonjour,
Je développer une application en RMI et mon client me dit qu'il ne trouve pas mon Stub.
Mon stub ce trouve dans un serveur http dans un jar. Il n'est n'y avec le client, ni avec le serveur. Comment faire?
Bonjour,
Je développer une application en RMI et mon client me dit qu'il ne trouve pas mon Stub.
Mon stub ce trouve dans un serveur http dans un jar. Il n'est n'y avec le client, ni avec le serveur. Comment faire?
Tu dois trouver le moyen de charger ton interface qui hérite de Remote dans le classpath du client. Pour cela tu as la classe RMIClassLoader, pense à initialiser le paramètre java.rmi.server.codebase avec le chemin du jar (ps : lien HTTP vers le serveur) contenant l'interface dont je t'ai cité.
N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java
Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ?Contacter Gokan EKINCI
J'ai commencé à faire sa pour le client mais ensuite je bloque
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Properties p = System.getProperties(); String url=p.getProperty("java.rmi.server.codebase", "http://127.0.0.1:80/rmi.jar"); Class ClasseClient = RMIClassLoader.loadClass(url, "MonInterface"); //lancer le client Constructor [] C = ClasseClient.getConstructors();
J'ai regarder ce tuto là mais c'est au niveau du client que je bloque.
http://cedric.cnam.fr/~bouzefra/cours/cours_RMI_SAR.pdf
Car mon interface n'est pas dans le client mais ailleurs
Non mais totot je sais très bien ce que tu es en train de faire, je te rappelle que je suis passé par là moi aussi
Le problème c'est que tu as oublié une étape lorsqu'on charge du code ne faisant pas parti du classpath initial. La chose dont je te parle est indiqué dans le lien que tu montres. A mon avis tu l'as omis car tu n'as pas compris à quoi ça servait... Est-ce que tu vois de quoi je parle ?
N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java
Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ?Contacter Gokan EKINCI
Si c'est le sécurité Manager, je l'ai utiliser:
Je l'ai mi dans le client et dans le serveur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if (System.getSecurityManager() == null) { System.setSecurityManager(new SecurityManager()); }
Partager