In WAS, I have created a jms queue X. I have also created another queue Y and in MQ, I specify that Y is backout queue for X.
Now for X if I say maximum number of retries :3 and backout threshold is 2, that means that after 2 tries if the message is not consumed by X, queue manager will put message on Y. In this case, maximum number of retries (3) will never be reached because it will never try a third time. And the listener for X will never go down.
Is my understanding correct?
In WAS, I have created a jms queue X. I have also created another
Share
I’m not so sure about the jms interface, but in native WMQ, the queue manager does not automatically requeue the message to the backout queue. it is up to the application to query the backout_count, compare that to the backout_threshold, and put the messages to backout_queue.
You should read “How WebSphere Application Server handles poison messages” — http://www.ibm.com/developerworks/websphere/library/techarticles/0405_titheridge/0405_titheridge.html
Also important to read “Best Practices: WebSphere MQ shared queues and application programs”, scroll down to Issue 6 — http://www.ibm.com/developerworks/websphere/library/techarticles/0512_elkins/0512_elkins.html