MQ Traces were not visible after configuring MQMonitor agent as required.
We are getting the following error when MQ transactions are being executed:
Exception in thread "<QUEUE_NAME>|<host-name>" java.lang.NoSuchMethodError: com.ibm.mq.pcf.PCFHeader: method <init>()V not found
at com.ibm.mq.pcf.activity.ActivityContent.<init>(ActivityContent.java:40)
at com.ibm.mq.pcf.activity.ActivityData.<init>(ActivityData.java:58)
at com.wily.powerpack.websphereMQ.agent.MQMonitor.trace.ActivityReportParser.parseActivityMessage(ActivityReportParser.java:162)
at com.wily.powerpack.websphereMQ.agent.MQMonitor.trace.ActivityReportParser.parseMessage(ActivityReportParser.java:78)
at com.wily.powerpack.websphereMQ.agent.MQMonitor.trace.ActivityReportParser.getActivityReportTransaction(ActivityReportParser.java:60)
at com.wily.powerpack.websphereMQ.agent.MQMonitor.trace.QueueBrowserUtil.mqReadActivityMessage(QueueBrowserUtil.java:382)
at com.wily.powerpack.websphereMQ.agent.MQMonitor.trace.MQActivityQueueReader.run(MQActivityQueueReader.java:107)
at java.lang.Thread.run(Thread.java:745)
The exception indicates that the com.ibm.mq.pcf-6.1.jar which is required for MQ traces on MQMonitor side, is either missing or not configured in the correct order in the classpath.
1. If MQMonitor is started using the startup script (startMQMonitor.bat (Windows) or startMQMonitor.sh (UNIX)):
a) Add com.ibm.mq.pcf-6.1.jar in the beginning of the list of MQ jars in the CLASSPATH of the startMQMonitor.bat file.
For example:
set CLASSPATH=MQMonitor.jar;.\lib\Agent.jar;.\lib\jline-0.9.94.jar;.\lib\com.ibm.mq.pcf-6.1.jar;.\lib\com.ibm.mq.pcf.jar;.\lib\com.ibm.mq.jar;.\lib\connector.jar;.\lib\com.ibm.mqjms.jar;.\lib\dhbcore.jar;.\lib\com.ibm.mq.headers.jar;.\lib\com.ibm.mq.commonservices.jar;.\lib\com.ibm.mq.jmqi.jar;.\lib\j2ee.jar;.\lib\ibmjsseprovider2.jar;.\lib\ConfigManagerProxy.jar
b) Make sure the com.ibm.mq.pcf-6.1.jar file is copied to/present in the defined path.
c) Restart the MQMonitor
2. If MQMonitor is started as a Windows Service:
a) Add the com.ibm.mq.pcf-6.1.jar into the classpath in the wrapper.conf file, in exactly the following order (com.ibm.mq.pcf-6.1.jar must come before com.ibm.mq.jar) :
wrapper.java.classpath.4=./../../../lib/com.ibm.mq.pcf-6.1.jar
wrapper.java.classpath.5=./../../../lib/com.ibm.mq.jar
b) Make sure the com.ibm.mq.pcf-6.1.jar file is copied to/present in the defined path.
c) Restart the MQMonitor service