I have created implementations of org.omg.PortableInterceptor.ClientRequestInterceptor, org.omg.PortableInterceptor.ServerRequestInterceptor and org.omg.PortableInterceptor.ORBInitializer in order to pass some data out-of-band between client and server. These are configured and working within the application server itself as discussed in
http://java.sun.com/j2se/1.5.0/docs/api/org/omg/PortableInterceptor/ORBInitializer.html with the exception that the org.omg.PortableInterceptor.ORBInitializerClass... property is set on the ORB MBean as it doesn't work as a java system property.
However I cannot get the ORBInitializer installed in the java application client. After trying a number of approaches for applying the org.omg.PortableInterceptor.ORBInitializerClass... property setting I had a look at the code and found that the ORB initialization process is hard coded to use a PropertyOnlyDataCollector, which means it does not look for application/applet/jvm arguments. This is due to the method com.sun.corba.se.impl.orb.ORBSingleton.getFullORB() calling the ORBImpl.set_parameters(Properties) version of the various set_parameters() methods (rather than one of the ones that can take an Applet or application parameters arguments). It passes a newly constructed empty Properties object. The initialization process then continues and does look for any org.omg.PortableInterceptor.ORBInitializerClass... properties but of course does not find any.
Does anyone know how to register an ORBInitializer with the com.sun.corba.se.impl.orb.ORBSingleton? Or should I be using a different Singleton?
[Message sent by forum member 'jim_b_o' (jim_b_o)]
http://forums.java.net/jive/thread.jspa?messageID=260165