Trabajo de PCD ejemplo con CORBA
[pcd.git] / src / Servidor.java
1 import java.io.File;
2 import java.io.FileNotFoundException;
3 import java.io.FileOutputStream;
4 import java.io.PrintWriter;
5
6 import org.omg.CORBA.*;
7 import org.omg.CORBA.ORBPackage.InvalidName;
8 import org.omg.PortableServer.*;
9 import org.omg.PortableServer.POAManagerPackage.AdapterInactive;
10 import org.omg.PortableServer.POAPackage.ServantNotActive;
11 import org.omg.PortableServer.POAPackage.WrongPolicy;
12
13 public class Servidor {
14
15         /**
16          * @param args
17          * @throws InvalidName 
18          * @throws AdapterInactive 
19          * @throws WrongPolicy 
20          * @throws ServantNotActive 
21          * @throws FileNotFoundException 
22          */
23         public static void main(String[] args) throws InvalidName, AdapterInactive, ServantNotActive, WrongPolicy, FileNotFoundException {
24         //inicializacion del orb
25         ORB orb = ORB.init(args, null);
26
27         //creacion del poa raiz
28         POA poa = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
29
30         //crear y activar sirvientes
31         poa.the_POAManager().activate();
32         ejemploImpl sirviente = new ejemploImpl();
33         org.omg.CORBA.Object obj = poa.servant_to_reference(sirviente);
34
35         String ior = orb.object_to_string(obj);
36         PrintWriter ps = new PrintWriter(new FileOutputStream(new File("server.ior")));
37         ps.println(ior);
38         ps.close();
39
40         orb.run();
41         }
42
43 }