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.