package demo.benchmark;
import java.io.File;
import java.util.Properties;
import org.omg.PortableServer.IdAssignmentPolicyValue;
import org.omg.PortableServer.LifespanPolicyValue;
import org.omg.PortableServer.POA;
public class Server
{
public static void main (String[] args) throws Exception
{
Properties props = new Properties ();
props.setProperty ("jacorb.implname", "demo.benchmark.server");
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init (args, props);
org.omg.PortableServer.POA rootPOA =
org.omg.PortableServer.POAHelper.narrow (orb.resolve_initial_references ("RootPOA"));
org.omg.CORBA.Policy[] policies = new org.omg.CORBA.Policy[2];
policies[0] = rootPOA.create_id_assignment_policy (IdAssignmentPolicyValue.USER_ID);
policies[1] = rootPOA.create_lifespan_policy (LifespanPolicyValue.PERSISTENT);
POA benchPOA = rootPOA.create_POA ("BenchPOA",
rootPOA.the_POAManager (), policies);
rootPOA.the_POAManager ().activate ();
byte[] oid = "benchServer".getBytes ();
benchPOA.activate_object_with_id (oid, new benchImpl ());
org.omg.CORBA.Object o = benchPOA.id_to_reference (oid);
String ref = orb.object_to_string (o);
String refFile = args[0];
java.io.PrintWriter out = new java.io.PrintWriter (new java.io.FileOutputStream (refFile));
out.println (ref);
out.flush ();
if (args.length == 2)
{
File killFile = new File (args[1]);
while (!killFile.exists ())
{
Thread.sleep (1000);
}
orb.shutdown (true);
}
else
{
orb.run ();
}
}
}