import java.rmi.RMISecurityManager; import net.jini.core.discovery.LookupLocator; import net.jini.core.entry.Entry; import net.jini.core.lookup.ServiceRegistrar; import net.jini.core.lookup.ServiceTemplate; import net.jini.lookup.entry.Name; public class ClientUniCast { public static void main(String[] args) { HelloWord myHello; try { // SecurityManager pour que le Classloader puisse charger des // classes distantes System.setSecurityManager(new RMISecurityManager()); System.out.println("Recherche du lookup service"); // Instanciation d'un objet LookupLocator pour effectuer la // découverte sur l'adresse jini://localhost LookupLocator lookup = new LookupLocator("jini://localhost"); // Définir l'interface du Lookup Service (ce n'est une interface // distante) ServiceRegistrar registrar = lookup.getRegistrar(); // Initialisation de l'attribue et le modèle du service. Name nameEntry = new Name("HelloWord"); Entry aeAttributes[] = new Entry[] { nameEntry }; ServiceTemplate template = new ServiceTemplate(null, null, aeAttributes); // Récuperation de l'interface myHello = (HelloWord) registrar.lookup(template); // Invocation de la méthode distnate "direBonjour" System.out.println(myHello.hello()); } catch (Exception e) { System.out.println(e.getMessage()); } } }