Hmmm... tricky. You could maybe try packaging the client jar file which worked previously with the EAR file and change the classloader policy to PARENT_LAST.
Looking up websphere queue from JNDI
-
06-03-2022 - |
Pergunta
I need to look up a websphere 7 queue from JNDI (Configured SIB). First I wrote a client program which access remote websphere server. I added com.ibm.ws.admin.client, com.ibm.ws.runtime, com.ibm.ws.sib.client.thin.jms and com.ibm.ws.webservices.thinclient jar files.
Code as follows.
Hashtable<String, Object> env = new Hashtable<String, Object>();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.websphere.naming.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL, "iiop://localhost:2809");
This does not work well as I am accessing it as a remote client. Hence I added this,
env.put("java.naming.corba.orb",org.omg.CORBA.ORB.init((String[])null,null));
This works fine for now. Then I removed the above line and move the target JDK to IBM JDK. In that case it works without any issue as well.
Actual issue faced when I need to access the above queue in a server program. This runs on a separate JVM. When I try to access the remote JNDI queue it gives me a class cast exception. I believe its because it load the default sun ORB implementation instead of IBM. I added com.ibm.ws.orb jar as well still no luck. It loads the Sun ORB. Hence it gives the class cast exception.
Like above I don't have the facility to load the org.omg.CORBA.ORB. Is there any way I can run this? Am I missing something? Any feedback from Websphere 8.5 is also welcome.
Note: This is not Websphere MQ. I am referring to Websphere application server queue.
Nenhuma solução correta
Outras dicas