01: package demo.benchmark;
02:
03: import org.omg.CosNaming.*;
04: import org.omg.PortableServer.*;
05:
06: public class Server {
07: public static void main(String[] args) {
08: try {
09: org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);
10: org.omg.PortableServer.POA rootPOA = org.omg.PortableServer.POAHelper
11: .narrow(orb.resolve_initial_references("RootPOA"));
12:
13: org.omg.CORBA.Policy[] policies = new org.omg.CORBA.Policy[2];
14:
15: policies[0] = rootPOA
16: .create_id_assignment_policy(IdAssignmentPolicyValue.USER_ID);
17: policies[1] = rootPOA
18: .create_lifespan_policy(LifespanPolicyValue.PERSISTENT);
19:
20: POA benchPOA = rootPOA.create_POA("BenchPOA", rootPOA
21: .the_POAManager(), policies);
22:
23: rootPOA.the_POAManager().activate();
24:
25: byte[] oid = "benchServer".getBytes();
26:
27: benchPOA.activate_object_with_id(oid, new benchImpl());
28:
29: org.omg.CORBA.Object o = benchPOA.id_to_reference(oid);
30:
31: if (args.length == 0) {
32: NamingContextExt nc = NamingContextExtHelper.narrow(orb
33: .resolve_initial_references("NameService"));
34: nc.bind(nc.to_name("benchmark"), o);
35: } else {
36: try {
37: String ref = orb.object_to_string(o);
38: String refFile = args[0];
39: java.io.PrintWriter out = new java.io.PrintWriter(
40: new java.io.FileOutputStream(refFile));
41: out.println(ref);
42: out.flush();
43: } catch (java.io.IOException ex) {
44: System.err.println("Server: can't write to `"
45: + ex.getMessage() + "'");
46: System.exit(1);
47: }
48: }
49: orb.run();
50: } catch (Exception e) {
51: e.printStackTrace();
52: }
53: }
54: }
|