package org.jacorb.demo.bank.transaction.explicit; import org.omg.CORBA.*; import org.omg.CORBA.ORBPackage.*; import org.omg.CosTransactions.*; import org.omg.CosNaming.*; import java.io.*; public class Server { public static void main( String[] args ) { org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null); try { org.omg.PortableServer.POA poa = org.omg.PortableServer.POAHelper.narrow(orb.resolve_initial_references("RootPOA")); poa.the_POAManager().activate(); org.omg.CORBA.Object o = poa.servant_to_reference(new BankImpl(orb,poa)); if( args.length == 1 ) { // write the object reference to args[0] PrintWriter ps = new PrintWriter(new FileOutputStream(new File( args[0] ))); ps.println( orb.object_to_string( o ) ); ps.close(); } else { NamingContextExt nc = NamingContextExtHelper.narrow(orb.resolve_initial_references("NameService")); NameComponent [] name = new NameComponent[1]; name[0] = new NameComponent( "DigiBank", "server"); nc.rebind(name, o); } } catch ( Exception e ) { e.printStackTrace(); } orb.run(); } }