Question
JMS MDB Listener Queries
The JMS MDB listener is failing in PROD with the following error.
com.pega.pegarules.pub.PRException: Expecting a BytesMessage, received a message of type: com.ibm.ws.sib.api.jms.impl.JmsTextMessageImpl..
I understand that the root cause is due to the different in the message type. However i am trying to understand the processing of the listener.
And have the following queries.
- The queue depth of the topic is being shown as 1. Does that mean the listener is trying to process the same message again and again?
If the listener has already consumed the message from the queue, shouldnt the message be removed from the queue. - Is it due to enabling the "Container-managed transaction" setting in pega listener rule?
How does this setting work? If the listener has already consumed the message then the message would have been removed from the queue.
Where does pega store the message to re-process the same message. - We have 2 nodes with 2 different subscribers listening to the same queue.
Does that mean the 2 nodes will process the same message? Or only one of the node takes up the message.
As we are noticing the above error in only one node.
Please revert back in case of any questions.
Thanks.
**Moderation Team has archived post**
This post has been archived for educational purposes. Contents and links will no longer be updated. If you have the same/similar question, please write a new post.
Please find the comments below.
The queue depth of the topic is being shown as 1. Does that mean the listener is trying to process the same message again and again?
If the listener has already consumed the message from the queue, shouldnt the message be removed from the queue.
MDBListener will process the message only once until if there is no issue from Listener side if there is issue then the in CMT mode the message will be rollback and placed in the same Topic/Queue and again it will try to process it after period of time.Normally the message will be removed once processed the message successfully by Listener.
Is it due to enabling the "Container-managed transaction" setting in pega listener rule?
How does this setting work? If the listener has already consumed the message then the message would have been removed from the queue.
Where does pega store the message to re-process the same message.
No Enabling CMT doesn't keep message in Topic/Queue once it gets processed until if have selected any option to persist the message in Topic/Queue. Pega Doesn't store message anywhere to reprocess instead it will rollback message and will try to re process that message again.
We have 2 nodes with 2 different subscribers listening to the same queue.
Does that mean the 2 nodes will process the same message? Or only one of the node takes up the message.
As we are noticing the above error in only one node.
No two nodes doesn't process same message only one node will broadcast this message to subscribers.
Hope this is helpful.
Thanks,
Narasimha