|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
classLoader problem with webservices SOAP,WSRR) - broker 6.1 |
« View previous topic :: View next topic » |
Author |
Message
|
wbintegrator |
Posted: Thu Mar 26, 2009 7:16 am Post subject: classLoader problem with webservices SOAP,WSRR) - broker 6.1 |
|
|
Voyager
Joined: 08 Feb 2006 Posts: 83
|
Hi everybody,
We're running a Broker 6.1.0.3 on Redhat Enterprise Linux 4 update 4 with toolkit 6.1.0.3 fixpack 3 on a Windows.
We've been experiencing a very weird SOAP problem almost a week now when one of my colleagues noticed in one of the broker log files that the last jar loaded was the com.ibm.ws.webservices.thinclient_6.1.0.jar located in the /var/mqsi/shared-classes/ directory, put there for the sake of the custom WSRR node we wrote. (The built-in node currently doesn't support recursive(deep) retrievals, which we need badly).
He had an idea to remove it from there, which somehow solved the SOAP problem but as expected, reproduced the WSRR connectivity problems which we had prior to putting the jar in the shared-classes folder.
The error we get without the jar is NoClassDefFoundError on com.ibm.ws.webservices.multiprotocol.AgnosticService
Originally we were pretty surprised to have to manually add the com.ibm.ws.webservices.thinclient_6.1.0.jar to shared-classes as the broker has all the required jars in /opt/mqsi/wsrrclient which must indespensibly be loaded for the webservice/wsrr support which come built-n with version 6.1. Anyway, we put the above jar which solved the problem and after about a month of proper functioning gave the strange errors with SOAP nodes which did WORK fine until now.
In the current situation, with the jar removed and the SOAP working fine, I tried manually getting the class from code:
the classLoader returned for the executing class is
Code: |
com.ibm.broker.classloading.EGSharedClassLoader
|
I also tried
Code: |
Thread.currentThread().setContextClassLoader(cl)
|
where 'cl' is the above classLoader and tried to load the
com.ibm.ws.webservices.multiprotocol.AgnosticService with it but got the NoClassDefFoundError.
Can it be that the broker loads the required jars in a way that makes them invisible to user classes? And if so, why on earth should I get the weird SOAP errors when trying to resolve the NoClassDefFoundError by putting the required jar in shared-classes folder? A bug???
Any ideas?
Thanks,
Joesph |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Mar 26, 2009 7:34 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
All of the classes in jars deployed to shared-classes should be being loaded by the Shared classloader, not by the EGShared classloader - at least as I understand it. The only things that should be getting loaded by EGShared classloader are anything you deploy in a jar file inside a BAR file.
If you have developed a custom node, rather than a JCN, then you should be packaging and deploying that as a PAR file rather than as a jar file. Then it will get it's *own* classloader that should not interfere with any other nodes.
If you are getting conflicts between things deployed in shared-classes and things used by built-in nodes, then you should open a PMR. |
|
Back to top |
|
 |
wbintegrator |
Posted: Thu Mar 26, 2009 8:39 am Post subject: |
|
|
Voyager
Joined: 08 Feb 2006 Posts: 83
|
Thanks for the reply mqjeff.
Actually I meant to say Java Compute Node, not custom node. It is a JCN that uses the webservice interface api to communicate with the WSRR.
So is it OK that an EGShared Classloader does the loading for a JCN?
btw, I also tried adding to CLASSPATH instead of shared-classes - the same problem. The only way I didn't try is pacakging the jars in the bar, since the jars are pretty big and the whole package is around 18 mg. (choked the EG the first and last time i tried it)
As for the collision that seems to be taking place, I will open a PMR.
Thanks again,
Joseph |
|
Back to top |
|
 |
akidase |
Posted: Wed Feb 09, 2011 2:43 am Post subject: |
|
|
Centurion
Joined: 10 Jan 2011 Posts: 124
|
Please let us know the results.
Thanks! |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|