RootPOA not available to resolve_initial_reference() call in ORB initializer. -------------------------------------------------------------------------------
Key: YOKO-419 URL: https://issues.apache.org/jira/browse/YOKO-419 Project: Yoko - CORBA Server Issue Type: Bug Security Level: public (Regular issues) Components: orb core Reporter: Rick McGuire Assignee: Rick McGuire The following two programs demonstrate this problem. A call to resolve the RootPOA made from the posi_init() method of an ORBInitializer is unable to resolve the instance. import java.util.Properties; import org.omg.CORBA.ORB; public class TestPostInit { public static void main(String[] args) throws Exception { Properties result = new Properties(); result.put("org.omg.PortableInterceptor.ORBInitializerClass.ORBInitializer", ""); ORB orb = ORB.init(new String[0], result); orb.resolve_initial_references("RootPOA"); } } import org.omg.CORBA.LocalObject; import org.omg.PortableInterceptor.ORBInitInfo; import org.omg.PortableInterceptor.ORBInitInfoPackage.DuplicateName; /** * @version $Revision: 452600 $ $Date: 2006-10-03 12:29:42 -0700 (Tue, 03 Oct 2006) $ */ public class ORBInitializer extends LocalObject implements org.omg.PortableInterceptor.ORBInitializer { public ORBInitializer() { } /** * Called during ORB initialization. If it is expected that initial * services registered by an interceptor will be used by other * interceptors, then those initial services shall be registered at * this point via calls to * <code>ORBInitInfo.register_initial_reference</code>. * * @param info provides initialization attributes and operations by * which Interceptors can be registered. */ public void pre_init(ORBInitInfo info) { } /** * Called during ORB initialization. If a service must resolve initial * references as part of its initialization, it can assume that all * initial references will be available at this point. * <p/> * Calling the <code>post_init</code> operations is not the final * task of ORB initialization. The final task, following the * <code>post_init</code> calls, is attaching the lists of registered * interceptors to the ORB. Therefore, the ORB does not contain the * interceptors during calls to <code>post_init</code>. If an * ORB-mediated call is made from within <code>post_init</code>, no * request interceptors will be invoked on that call. * Likewise, if an operation is performed which causes an IOR to be * created, no IOR interceptors will be invoked. * * @param info provides initialization attributes and * operations by which Interceptors can be registered. */ public void post_init(ORBInitInfo info) { try { info.resolve_initial_references("RootPOA"); } catch (org.omg.PortableInterceptor.ORBInitInfoPackage.InvalidName ex ) { ex.printStackTrace(); } } } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.