mickSan
Messages postés2Date d'inscriptionjeudi 28 décembre 2000StatutMembreDernière intervention29 octobre 2009
-
26 oct. 2009 à 16:53
mickSan
Messages postés2Date d'inscriptionjeudi 28 décembre 2000StatutMembreDernière intervention29 octobre 2009
-
29 oct. 2009 à 15:30
Bonjour, je suis en train de découvrir Java RMI avec un classique HelloWorld.
J'essaie de mettre en place le téléchargement automatique des classes via un serveur Web, mais impossible de récupérer le Stub sur le client.
Mon fichier interface => Hello.java:
import java.rmi.*;
public interface Hello extends Remote {
public String ditBonjour()
throws java.rmi.RemoteException;
}
Le serveur => ImpServerHello:
import java.rmi.server.*;
import java.net.*;
import java.rmi.*;
public class ImpServeurHello extends UnicastRemoteObject implements Hello{
public ImpServeurHello() throws RemoteException{super();}
public String ditBonjour() throws RemoteException{return "bonjour a tous";}
public static void main(String arg[]){
if (System.getSecurityManager() == null)
System.setSecurityManager ( new RMISecurityManager() );
try {
ImpServeurHello s = new ImpServeurHello();
String nom = "monObjet";
Naming.rebind(nom,s); // enregistrement
System.out.println("Serveur enregistré");
}
catch (Exception e) {System.err.println("Erreur :" + e); }
}
}
Le fichier client => ClientHello.java :
import java.rmi.*;
public class ClientHello {
public static void main(String arg[]) {
if (System.getSecurityManager() == null)
System.setSecurityManager ( new RMISecurityManager() );
try {
Hello h = (Hello) Naming.lookup("rmi://MonServeur/monObjet");
String messageRecu = h.ditBonjour();
System.out.println(messageRecu);
}
catch (Exception e) {System.err.println("Erreur :" + e); }
}
}
Mon fichier policy :
grant {
permission java.security.AllPermission;
};
Je compile et exécute le serveur de la façon suivante :