package observer_subject; import org.omg.CORBA.ORB; import org.omg.CORBA.UserException; import org.omg.CosNaming.NamingContextExt; import org.omg.CosNaming.NamingContextExtHelper; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAHelper; import org.omg.PortableServer.POAManager; public class Serveur { public static void main(String args[]){ // Initialisation de l'orb ORB orb = ORB.init(args, null); try { // Obtention d'une reference vers le POA manager de la racine POA rootPoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); POAManager manager = rootPoa.the_POAManager(); // Activation du POA Manager manager.activate(); // Instanciation d'un servant Subjectfactory SubjectImpl servant = new SubjectImpl(); //Création d'une référence sur l'objet servant à enregistrer dans le NS org.omg.CORBA.Object obj = rootPoa.servant_to_reference(servant); NamingContextExt nameService = NamingContextExtHelper.narrow(orb.resolve_initial_references("NameService")); nameService.rebind( nameService.to_name("Sujet"), obj ); // //Enregistrement de la référence de l'objet dans un fichier // String ior = orb.object_to_string(obj) ; // String refFile = "ObserverSubject.IOR" ; // java.io.PrintWriter out = new java.io.PrintWriter(new java.io.FileOutputStream(refFile)) ; // out.println(ior); // out.close(); orb.run(); } catch (Exception ex) { ex.printStackTrace(); orb.destroy() ; } } }