package org.jacorb.test.bugs.bug1010; /** * @author Alon Hessing */ // // Server for multi-threaded client // //import org.jetbrains.annotations.Nullable; import org.omg.PortableServer.POA; import org.omg.PortableServer.POAHelper; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.URL; import java.util.Properties; public class Server { public static void main(String[] args) throws Exception { System.setProperty("org.omg.CORBA.ORBClass", "org.jacorb.orb.ORB"); System.setProperty("org.omg.CORBA.ORBSingletonClass", "org.jacorb.orb.ORBSingleton"); String resourceName = "jacorb_3_5.properties"; Properties propsNew = loadProperties(resourceName); org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, propsNew); POA poa = POAHelper.narrow(orb.resolve_initial_references("RootPOA")); poa.the_POAManager().activate(); ServerImpl s = new ServerImpl(); org.omg.CORBA.Object o = poa.servant_to_reference(s); PrintWriter ps = new PrintWriter(new FileOutputStream(new File(args[0]))); ps.println(orb.object_to_string(o)); ps.close(); while (args.length == 2 || !s.getShutdown()) { Thread.sleep(1000); } orb.shutdown(true); } private static Properties loadProperties(String resourceName) { //ClassLoader cl = Thread.currentThread().getContextClassLoader(); URL url = ServerImpl.class.getResource(resourceName); Properties propsNew = new Properties(); try { InputStream inStream = url.openStream(); propsNew.load(inStream); inStream.close(); } catch (IOException e) { e.printStackTrace(); } return propsNew; } }