jms - How do I solve Websphere MQ server queue read race condition? -


i have 4 node websphere application server cluster running application. application listens queue of websphere mq server. have created jms resources in cluster scope, nodes connect same queue manager, , open input count queue 4 in mq explorer. problem if message published queue, 1 of nodes grabs message , starts processing, throws error saying message header incorrect. when shut down 3 nodes , kept 1 running, application on node read message , started processing fine. thought read contention not problem in mq, facts point other direction. there way set property in queue read lock or scheduler distributes messages 4 nodes ?

if read message under syncpoint using get instead of browse, no other thread can retrieve unless , until rollback issued. if message ok process, issue commit when done.

on other hand, if browse messages threads can retrieve same message.

whatever going on not attributable thread contention on same message somehow corrupting message. regardless of whether message browsed or destructively retrieved, wmq assures integrity , atomic operation of call. diagnose this, necessary have more information exact error seeing, including print of linked exception contain transport provider's native return code.