How to configure ilog client application to use the JDK's ORB classes in JBoss EAP 6
Issue
- When deploying IBM’s WODM client to JBoss EAP 6 we are experiencing classpath conflicts. Here is a small snippet of code for the client.
IlrEJB3SessionFactory factory = new IlrEJB3SessionFactory();
factory.setStatelessRemoteJndiName(
"iiop://remote-server:port/ejb/PATH#ilog.rules.res.session.impl.ejb3.IlrStatelessSessionRemote");
factory.setRemote(true);
IlrStatelessSession session = factory.createStatelessSession();
When attempting to execute the code snippet above in a JSE environment there are no issues. When attempting to execute the snippet in a JBoss EAP 6, we encounter the following error:
ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/TestIlogBrad].[jsp]] (http-/127.0.0.1:8080-1) Servlet.service() for servlet jsp threw exception: java.lang.LinkageError: loader constraint violation: loader (instance of org/jboss/modules/ModuleClassLoader) previously initiated loading for a different type with name "org/omg/CORBA/ORB"
at java.lang.Class.forName0(Native Method) [rt.jar:1.6.0_30]
at java.lang.Class.forName(Class.java:247) [rt.jar:1.6.0_30]
at org.omg.CORBA.ORB.create(Unknown Source)
at org.omg.CORBA.ORB.init(Unknown Source)
at com.ibm.ws.orb.GlobalORBFactory.init(GlobalORBFactory.java:92) [com.ibm.ws.ejb.thinclient_8.0.0.jar:]
at com.ibm.ejs.oa.EJSORBImpl.initializeORB(EJSORBImpl.java:179) [com.ibm.ws.ejb.thinclient_8.0.0.jar:]
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:83) [com.ibm.ws.ejb.thinclient_8.0.0.jar:]
at com.ibm.ejs.oa.EJSClientORBImpl.<init>(EJSClientORBImpl.java:59) [com.ibm.ws.ejb.thinclient_8.0.0.jar:]
at com.ibm.ejs.oa.EJSORB.init(EJSORB.java:102) [com.ibm.ws.ejb.thinclient_8.0.0.jar:]
Environment
- JBoss Enterprise Application Platform (EAP)
- 6.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.