是否可以使用Java 1.5 CORBA服务器应用程序运行嵌入式命名服务,以便可以通过“corbaloc”简写URL而不是长IOR引用来访问其服务人员,但< em>没有运行任何其他守护进程,如ORBD?
例如。 corbaloc::127.0.0.1:12345/MyService
我注意到Java 1.6+中有一个TransientNameService
类,但我不确定它是我认为的那样..
任何帮助将不胜感激!
答案 0 :(得分:2)
在Sun中,ORB corbaloc:
引用被视为初始引用。它们不需要任何命名服务,而是由ORB本身解决。
以下是注册初始参考的方法:
Properties props = new Properties();
props.put("com.sun.CORBA.POA.ORBPersistentServerPort", "12345");
ORB orb = ORB.init(args, props);
POA rootPOA = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
MyServicePOA myServicePOA = new MyServiceImpl();
rootPOA.activate_object(myServicePOA);
MyService myService = myServicePOA._this(orb);
((com.sun.corba.se.spi.orb.ORB) orb).register_initial_reference("MyService", myService);
此后,可以corbaloc::127.0.0.1:12345/MyService