Максимальное количество попыток MQ и порог возврата

В WAS я создал очередь jms X. Я также создал еще одну очередь Y и в MQ указываю, что Y является очередью отмены для X.
Теперь для X, если я укажу максимальное количество повторных попыток: 3 и порог отмены равно 2, это означает, что после 2 попыток, если сообщение не используется X, администратор очередей поместит сообщение в Y. В этом случае максимальное количество повторных попыток (3) никогда не будет достигнуто, поскольку он никогда не будет пытаться в третий раз. И слушатель для X никогда не выйдет из строя. Правильно ли я понимаю?


person Victor    schedule 20.03.2012    source источник


Ответы (3)


Я не очень уверен в интерфейсе jms, но в родном WMQ диспетчер очередей не помещает сообщение автоматически в очередь возврата. приложение должно запросить backout_count, сравнить его с backout_threshold и поместить сообщения в backout_queue.

Вам следует прочитать "Как WebSphere Application Server обрабатывает подозрительные сообщения" -- http://www.ibm.com/developerworks/websphere/library/techarticles/0405_titheridge/0405_titheridge.html

Также важно прочитать "Лучшие практики: общие очереди и прикладные программы WebSphere MQ", прокрутите вниз до выпуска 6 -- http://www.ibm.com/developerworks/websphere/library/techarticles/0512_elkins/0512_elkins.html

person David Awerbuch    schedule 20.03.2012

Реализация MQ JMS выполняет работу по перемещению сообщения в очередь возврата после достижения порога возврата, установленного в целевой очереди. Если очередь возврата не указана, MQ JMS пытается поместить сообщение в очередь недоставленных сообщений.

Насколько я знаю, в MQ JMS нет концепции повторных попыток. Это может быть связано с WAS/MDB.

person Shashi    schedule 21.03.2012

странно, что если это решение приложения повторно поставить сообщение в очередь возврата, почему порог возврата определяется в свойстве очереди? не должно ли это пороговое свойство быть определено в приложении.

Очень запутанно.

person user2077724    schedule 19.11.2014