Need help to configure Websphere stateless session EJB to use orb acus ORB
"Unyelioglu, Konur" <[email protected]>
| Newsgroups | gmane.comp.corba.orbacus |
|---|---|
| Message-ID | <[email protected]> |
This is more of a Websphere question, however, I was wondering if you have
seen a similar problem before or provide us some advise.
We are converting a JBoss based web application to Websphere Portal v5.0. In
the application, a stateless session EJB tries to connect to a legacy CORBA
server which is using Orbacus ORB (Object Request Broker). In the original
application, the stateless session EJB is also using Orbacus ORB and in the
classpath there is a Java library provided to us by Orbacus. Everything
works fine in the original JBoss based system.
When we converted the web based application to run in WSAD (Websphere Studio
Application Developer) Websphere portal 5.0 test environment, the
application class loader policy is set to Multiple and the classloader mode
of the application is PARENT_FIRST. The jar file that contains the Orbacus
ORB library is under a subfolder of the enterprise application and the EJB
project has been configured to have dependency on that jar file.
When we run the EJB, it connects to the NamingContext in the legacy server.
However, it cannot obtain a reference to any of the objects in the naming
repository, throwing an exception that says:
com/ibm/rmi/corba/TypeCodeImpl incompatible with com/ooc/CORBA/TypeCode
(Note: OOC is name of the Orbacus ORB.) When we debug it, it is seen that
the singleton member of the ORB object is set to
com.ibm.rmi.corba.ORBSingleton even though in the initialization of ORB we
have set the singleton class to be com.ooc.CORBA.ORBSingleton as follows:
Properties env = new Properties();
env.put("org.omg.CORBA.ORBClass", "com.ooc.CORBA.ORB");
env.put("org.omg.CORBA.ORBSingletonClass", "com.ooc.CORBA.ORBSingleton");
...
orb = ORB.init(new String[] {}, env);
Our understanding is, the ORB has already been initialized by the EJB
container before our initialization takes place and therefore it is not
possible to change the singleton class from IBM to Orbacus ORB.
We also tried to force the application server to load Orbacus library first.
In the classpath settings of the WSAD Websphere portal 5.0 test environment,
we change the classloader mode of the application to PARENT_LAST. In this
case, the application server does not even start. It creates a dump file. We
guess what is happening here is, the application server picks up the Orbacus
ORB library from the classpath first before the IBM ORB library and another
form of incompatibility takes place crashing the server.
We would like to know if there is a way to configure Websphere Portal so
that the ORB initialized to use Orbacus ORB in the EJB instead of IBM's ORB.
Sincerely,
Konur Unyelioglu
[email protected]
Work: (954) 835 9679
Cell: (954) 557 1459
_______________________________________________
OB-Users Mailing List - [email protected]
http://mail.ooc.nf.ca/mailman/listinfo/ob-users
Visit our support FAQ before you send a message.
http://www.orbacus.com/faq/support.html