Is it best practice to run JMS MDB Listener on all server Nodes?
Our production is getting information from other system through JMS message. We configured MQ in WAS and created JMS MDB Listener in Pega. It's working very well. But we came to know that around 5% messages are duplicated, as per we checked with JMS sender, they didn't send duplicated messages.
We have 4 server Nodes. PegaRULES logs captured the duplicated service Activity calls. The duplication happens almost in the same second. I'm suspecting 2 listeners woke up at the same time and picked up the same message from MQ, but I can't verify that. Please see attached time stamps in the logs.
Is it best practice to run JMS MDB Listener on all server Nodes? I thought if any Listener picked it up, the queued message should went away.
If my thought was wrong, how should I trace the listener? so that I know where the duplicated message from.
***Updated by moderator: Lochan to add SR details***
MQ shouldn't release the message to multiple listeners unless its Publish/Subscribe (not Point-to-point).
Re : "any Listener picked it up, the queued message should went away" - The message doesn't disappear until the listener acknowledges. How is Pega setup? Immediate acknowledge or "after processing". Either scenario should work across multiple nodes.
Check with MQ team to verify the queue setup. If that is not issue, you'll likely need to open an SR for us to debug further.