We have observed an issue with the way of consuming the JMS message. We have a JMS listener with Point to Point Model which would create a work object for each message received. Its working fine in most of the cases. But only few messages are getting picked up by multiple nodes. When we looked at the Pega/Alert log ,there was no error.But looks like JMS at first node is not being processed successfully and hence message is being persisted at queue and later picked by another node.
Can someone suggest if this is the expected behavior of JMS queue when there are errors?
***Edited by moderator Maryrita, moved to Product Support from Pega Academy***
Expected cause :
As you have multi node environment lets say Node A, Node, B, Node C, Now when you receive a message then
Either of the Node will try to pick, Lets say Node A has picked it, Mean while Other two nodes(i.e Node B, Node C) also try to get that message, but as the Lock is acquired by Node A other two node will throw exceptions.
Soln 1 :- To overcome this issue, maintain a Flag when you get message and before processing it check the flag first, Now if any Node is processing it other node will not try to pick it up as the Flag is not marked to pick it up.
Soln 2 :- Apply Load Balancing on your Servers. Please refer