Class Not Found error when monitoring MQ classes.

book

Article ID: 104928

calendar_today

Updated On:

Products

CA Application Performance Management Agent (APM / Wily / Introscope) INTROSCOPE

Issue/Introduction

Deploying CA Application Performance Management Java Agent to monitoring IBM Message Queue(MQ), after start the agent the application logs started to be filled with below error message:

ExtendedMessage: CWWIM6003I Initialization of the dynamic reload manager completed successfully.
Trace: 01 t=9C2E88 c=UNK key=P8 (00000011)
Description: Log Java Message 
Message: CWWIM6003I Initialization of the dynamic reload manager completed successfully.
java.lang.ClassNotFoundException: com.wily.powerpack.websphereMQ.agent.extensions.tracer.hc2.MQBackendTracer
 
                at java.lang.Class.forNameImpl(Native Method)
                at java.lang.Class.forName(Class.java:240)
                at com.wily.introscope.agent.extension.DynamicClassLookup.loadDynamicClassEntry(DynamicClassLookup.java:230)
                at com.wily.introscope.agent.trace.TracerFactoryLoader.createTracerFactory(TracerFactoryLoader.java:66)
                at com.wily.introscope.agent.trace.TracerAdministrator.createTracerFactories(TracerAdministrator.java:699)
                at com.wily.introscope.agent.trace.TracerAdministrator.createProbeInformation(TracerAdministrator.java:662)
                at com.wily.introscope.agent.trace.TracerAdministrator.access$0(TracerAdministrator.java:649)
                at com.wily.introscope.agent.trace.TracerAdministrator$ProbeInformationCreator.IProbeInformationCreator_createProbeInformation(TracerAdministrator.java:806)
                at com.wily.introscope.agent.trace.ProbeLookup.getProbeInformation(ProbeLookup.java:102)
                at com.wily.introscope.agent.trace.TracerAdministrator.getProbeInformation(TracerAdministrator.java:639)
                at com.wily.introscope.agent.trace.TracerAdministrator.loadParameterizedTracer(TracerAdministrator.java:456)
                at com.wily.introscope.agent.enterprise.EnterpriseAgent.IAgent_loadParameterizedTracer(EnterpriseAgent.java:1013)
                at com.wily.introscope.agent.AgentShim.ProbeBuilderEntryPoint_loadParameterizedTracer(AgentShim.java:1270)
                at com.ibm.mq.jms.MQSession.close(MQSession.java)
                at com.ibm.mq.connector.inbound.ServerSessionImpl.close(ServerSessionImpl.java:326)
                at com.ibm.mq.connector.inbound.ServerSessionPoolImpl.poolCleanup(ServerSessionPoolImpl.java:764)
                at com.ibm.mq.connector.inbound.PoolScavengerThread.run(PoolScavengerThread.java:101)

Inside Agent.Profile for this agent you can see the directives being listed:

                introscope.autoprobe.directivesFile=websphere-typical.pbl,hotdeploy,webspheremq.pbl,PPWebSphere7.0zOS.pbd

Cause

It happens due the missing or out of compatibility with the others JARs inside wily/core/ext
MQNameFormatter.jar contains these MQ classes responsible for this behavior.

Environment

We saw this behavior in 10.5 and 10.7 release, but it is valid for any supported release for MQ Java connector monitoring.

Resolution

To address this behavior, please follow the procedure below:
  1. Make sure to have the MQNameFormatter.jar inside the path Agent_home/core/ext.
  2. If the MQNameFormatter.jar is not inside Agent_home/core/ext.
  3. . Copy it from the path Agent_home/examples/PowerPackForWebSphereMQ/ext and paste inside Agent_home/core/ext.
  4. If you do already have the JAR MQNameFormatter.jar inside the path Agent_home/core/ext and you are receiving this class error, it is due to the incompatibility of the current JAR, to address, copy it from the path Agent_home/examples/PowerPackForWebSphereMQ/ext and paste inside Agent_home/core/ext.
  5. Restart the application being monitored after the above changes.