1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
// initialisation de l'ORB
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args,null);
// récupération du rootPOA
org.omg.PortableServer.POA rootPOA = org.omg.PortableServer.POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
// création des politiques du POA persistant
org.omg.CORBA.Policy[] policies = {
rootPOA.create_lifespan_policy(org.omg.PortableServer.LifespanPolicyValue.PERSISTENT),
rootPOA.create_id_assignment_policy(org.omg.PortableServer.IdAssignmentPolicyValue.USER_ID)
};
// création du POA persistent
org.omg.PortableServer.POA myPOA = rootPOA.create_POA( "persistentPOA", rootPOA.the_POAManager(), policies );
// création du servant de mon objet CORBA
// NOTE: ce servant doit ré-implémenter l'opération _default_POA() pour retourner myPOA.
HelloImpl helloServant = new HelloImpl(myPOA);
// création d'un identifiant unique pour l'objet CORBA
byte[] servantId = "Hello".getBytes();
// activation du servant avec l'ID sur myPOA
myPOA.activate_object_with_id(servantId, helloServant);
// activation du POA manager
rootPOA.the_POAManager().activate();
// récupération de l'objet CORBA pour donner au client
Hello h = myPOA.servant_to_reference(helloServant); |
Partager