Support Article
Getting error after AES consumes alert message from the MQ Queue
SA-6243
Summary
Getting error after AES consumes alert message from the MQ Queue.
We are trying to use JMS instead of SOAP for AES alert messages in our Performance environment. The monitored nodes are putting the messages successfully on the MQ queue via JMS. On AES side, JMS Listener is also consuming the messages successfully. However, after consuming the message, listener is throwing following error message for every single message it consumes.
2015-02-01 16:47:00,855 [ JMS-Thread-660] [ STANDARD] [ ] ( services.jms.JMSListener) ERROR .AESAlertListener - Caught exception while processing request for service PegaAES.Events.logAlert, com.pega.pegarules.pub.PRException: Expecting a MapMessage, received a message of type: com.ibm.jms.JMSTextMessage
From: (unknown)
com.pega.pegarules.pub.PRException: Expecting a MapMessage, received a message of type: com.ibm.jms.JMSTextMessage
From: (unknown)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.readRequestData(JMSListener.java:1862)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.handleRequest(JMSListener.java:1233)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.processMessages(JMSListener.java:810)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.runPoller(JMSListener.java:746)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.run_(JMSListener.java:738)
at com.pega.pegarules.integration.engine.internal.services.listener.ServiceListenerBaseImpl.run(ServiceListenerBaseImpl.java:445)
at java.lang.Thread.run(Thread.java:761)
Error Messages
2015-02-01 16:47:00,855 [ JMS-Thread-660] [ STANDARD] [ ] ( services.jms.JMSListener) ERROR .AESAlertListener - Caught exception while processing request for service PegaAES.Events.logAlert, com.pega.pegarules.pub.PRException: Expecting a MapMessage, received a message of type: com.ibm.jms.JMSTextMessage
From: (unknown)
com.pega.pegarules.pub.PRException: Expecting a MapMessage, received a message of type: com.ibm.jms.JMSTextMessage
From: (unknown)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.readRequestData(JMSListener.java:1862)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.handleRequest(JMSListener.java:1233)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.processMessages(JMSListener.java:810)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.runPoller(JMSListener.java:746)
at com.pega.pegarules.integration.engine.internal.services.jms.JMSListener.run_(JMSListener.java:738)
at com.pega.pegarules.integration.engine.internal.services.listener.ServiceListenerBaseImpl.run(ServiceListenerBaseImpl.java:445)
at java.lang.Thread.run(Thread.java:761)
Steps to Reproduce
1. Use application deployed on the monitored node to generate PAL alerts
Root Cause
The root cause of this problem is in a third-party destination (Queue) configuration issue. Messages were *not* constructed with an RFH2 header specifying the JMS message type within the Websphere Application server’s JMS Queue. The advanced JMS Queue configuration was unchecked – “Append RFH version 2 headers to messages sent to this destination”
Resolution
This issue is resolved by making the following change to the JMS Queue configuration under advanced properties via Websphere Administration console.
Checked the checkbox for “Append RFH version 2 headers to messages sent to this destination” and restarted the monitored node JVMs.
Published January 31, 2016 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.