Author |
Message
|
paranoid221 |
Posted: Fri Oct 22, 2010 12:55 am Post subject: Logging Issues with SOAP Nodes |
|
|
 Centurion
Joined: 03 Apr 2006 Posts: 101 Location: USA
|
In continuation of my previous post on working with SOAP nodes, I switched the compute node to start using a javaCompute node. But I have been running into numerous issues after I made this change.
We have the apache commons logging library in the shared-classes folder. It's more or less a given that there is no way we can remove that file from there since multiple projects at our work place are dependent on it. After I modified the flow by replacing ESQL code with java code, I deployed to the same execution group I was using before. Deployment goes through fine. Time to test I thought and proceeded to execute the same test case that I was previously running when I had the ESQL code. I do not have any logging statements in my java code nor were there any changes to our broker environment from the time I last tested. Here is what gets thrown into the stdout:
Code: |
Exception in thread "Thread-20" java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.initialize(J9VMInternals.java:218)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:161)
at com.ibm.broker.axis2.Axis2Requester.processRequestMessageInternalNotThroughPipeline(Axis2Requester.java:813)
at com.ibm.broker.axis2.Axis2Requester.processRequestMessageSoap(Axis2Requester.java:713)
at com.ibm.broker.plugin.MbOutputTerminal._propagate(Native Method)
at com.ibm.broker.plugin.MbOutputTerminal.propagate(MbOutputTerminal.java:103)
at ...
.....
.....
at com.ibm.broker.javacompute.MbRuntimeJavaComputeNode.evaluate(MbRuntimeJavaComputeNode.java:179)
at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1476)
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
at org.apache.axiom.om.OMOutputFormat.<clinit>(OMOutputFormat.java:41)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:196)
... 8 more
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:416)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
... 14 more |
I'm baffled to say the least. Ideas anyone? _________________ LIFE is a series of complex calculations, somewhere multiplied by ZERO. |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Oct 22, 2010 2:00 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
What gets thrown to the flow? What gets logged in the system log? |
|
Back to top |
|
 |
paranoid221 |
Posted: Fri Oct 22, 2010 10:31 am Post subject: |
|
|
 Centurion
Joined: 03 Apr 2006 Posts: 101 Location: USA
|
Service Log also has the same content that I have provided in the previous post above. User trace shows this:
Code: |
ExceptionTree:
( ['MQROOT' : 0x772a460]
(0x01000000:Name):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S610_P\src\DataFlowEngine\PluginInterface\ImbJniNode.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1024 (INTEGER)
(0x03000000:NameValue):Function = 'ImbJniNode::evaluate' (CHARACTER)
(0x03000000:NameValue):Type = 'ComIbmJavaComputeNode' (CHARACTER)
(0x03000000:NameValue):Name = 'XXXXXXXXXXX#FCMComposite_1_4' (CHARACTER)
(0x03000000:NameValue):Label = 'XXXXXXXXXX(CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPv610' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 2230 (INTEGER)
(0x03000000:NameValue):Text = 'Caught exception and rethrowing' (CHARACTER)
(0x01000000:Name ):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S610_P\src\DataFlowEngine\PluginInterface\com_ibm_broker_plugin_CMbService.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1861 (INTEGER)
(0x03000000:NameValue):Function = 'ImbJavaExceptionUtils::throwableToNativeException' (CHARACTER)
(0x03000000:NameValue):Type = '' (CHARACTER)
(0x03000000:NameValue):Name = '' (CHARACTER)
(0x03000000:NameValue):Label = '' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPv610' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4367 (INTEGER)
(0x03000000:NameValue):Text = 'Unhandled exception in plugin method.' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'evaluate' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'XXXXXXXXXXXXX' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'java.lang.NullPointerException' (CHARACTER)
)
(0x01000000:Name ):RecoverableException = (
(0x03000000:NameValue):File = 'F:\build\S610_P\src\DataFlowEngine\PluginInterface\com_ibm_broker_plugin_CMbService.cpp' (CHARACTER)
(0x03000000:NameValue):Line = 1879 (INTEGER)
(0x03000000:NameValue):Function = 'ImbJavaExceptionUtils::throwableToNativeException' (CHARACTER)
(0x03000000:NameValue):Type = '' (CHARACTER)
(0x03000000:NameValue):Name = '' (CHARACTER)
(0x03000000:NameValue):Label = '' (CHARACTER)
(0x03000000:NameValue):Catalog = 'BIPv610' (CHARACTER)
(0x03000000:NameValue):Severity = 3 (INTEGER)
(0x03000000:NameValue):Number = 4395 (INTEGER)
(0x03000000:NameValue):Text = 'Unhandled exception in plugin method' (CHARACTER)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'java.lang.NullPointerException' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'com.ibm.broker.plugin.MbService' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'getLogMessages' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 5 (INTEGER)
(0x03000000:NameValue):Text = 'MbService.java' (CHARACTER)
)
(0x01000000:Name ):Insert = (
(0x03000000:NameValue):Type = 2 (INTEGER)
(0x03000000:NameValue):Text = '444' (CHARACTER)
)
)
)
)
) |
Seems like a class-loading issue. The presence of the commons logging jar in the shared-classes makes the logger etc classes loaded by the Shared Classloader while the Axis2 library is in the webservices folder, contents of which are loaded either by the Common Classloader or Broker Classloader(mebbe even the JVM Classloaders). I strongly believe that's where the issue lies but do not know how to get around it....yet! _________________ LIFE is a series of complex calculations, somewhere multiplied by ZERO. |
|
Back to top |
|
 |
paranoid221 |
Posted: Wed Oct 27, 2010 8:47 am Post subject: |
|
|
 Centurion
Joined: 03 Apr 2006 Posts: 101 Location: USA
|
^ BUMP
Anyone with ideas on how to resolve this classloading issue?? _________________ LIFE is a series of complex calculations, somewhere multiplied by ZERO. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Oct 27, 2010 12:07 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
paranoid221 wrote: |
^ BUMP
Anyone with ideas on how to resolve this classloading issue?? |
Have you looked at the configurable services for your classloaders?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
paranoid221 |
Posted: Wed Oct 27, 2010 12:16 pm Post subject: |
|
|
 Centurion
Joined: 03 Apr 2006 Posts: 101 Location: USA
|
configurable service for classLoading? How do I do that? I went through the infocenter and found no references to it. _________________ LIFE is a series of complex calculations, somewhere multiplied by ZERO. |
|
Back to top |
|
 |
fjb_saper |
Posted: Wed Oct 27, 2010 12:22 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
paranoid221 wrote: |
configurable service for classLoading? How do I do that? I went through the infocenter and found no references to it. |
Look at the community pages ... there was a webinar on stuff like that about a month ago... However it might be V7 only...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
paranoid221 |
Posted: Wed Oct 27, 2010 12:29 pm Post subject: |
|
|
 Centurion
Joined: 03 Apr 2006 Posts: 101 Location: USA
|
Yes you are right. I found that info in V7 infocenter.
I'm out of luck with this in V6.1 then!!!? _________________ LIFE is a series of complex calculations, somewhere multiplied by ZERO. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Oct 27, 2010 12:41 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
paranoid221 wrote: |
Yes you are right. I found that info in V7 infocenter.
I'm out of luck with this in V6.1 then!!!? |
No JavaClassLoader configurable service in v6.1.
The classloader structure is different too.
Putting log4j into shared-classes however should not be interfering with MbService.log() though, afaik.
Make sure you're at 6.1.0.8, though. |
|
Back to top |
|
 |
paranoid221 |
Posted: Wed Oct 27, 2010 12:58 pm Post subject: |
|
|
 Centurion
Joined: 03 Apr 2006 Posts: 101 Location: USA
|
Grrr one more bullet into the skull . We are at 6.1.0.4 _________________ LIFE is a series of complex calculations, somewhere multiplied by ZERO. |
|
Back to top |
|
 |
mgk |
Posted: Wed Oct 27, 2010 1:41 pm Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Can you try a newer 6.1 fixpac? I know there have been some classloading fixes in one of the 6.1.x releases, but I forget which... _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
paranoid221 |
Posted: Wed Oct 27, 2010 2:33 pm Post subject: |
|
|
 Centurion
Joined: 03 Apr 2006 Posts: 101 Location: USA
|
I shall try convincing our integration team to put in the fixpack..:fingers-crossed: _________________ LIFE is a series of complex calculations, somewhere multiplied by ZERO. |
|
Back to top |
|
 |
|