Повторная доставка сообщения JMS - PullRequest
0 голосов
/ 03 мая 2020

У меня есть очередь с одним производителем и двумя потребителями, использующими CLIENT_ACKNOWLEDGE. Два потребителя совместно используют соединения, но они живут в разных потоках, поэтому каждый использует свой собственный сеанс.

Что произойдет, если потребитель А не подтвердит последнее полученное сообщение? В каком сценарии сообщение будет повторно доставлено и использовано потребителем B? Это когда потребитель сеанса A использует закрыто? Нужна ли мне какая-то конфигурация на провайдере JMS, чтобы определять, что происходит в таком сценарии?

1 Ответ

0 голосов
/ 03 мая 2020

Я не думаю, что эта ситуация напрямую рассматривается в спецификации JMS, поэтому ответ в конечном итоге будет зависеть от того, какого JMS-брокера вы используете. Однако, работая в прошлом с несколькими JMS-брокерами, я бы сказал, что в общем случае любое сообщение, отправленное брокером потребителю, но еще не подтвержденное этим потребителем, будет отменено обратно брокеру и будет предоставляется для повторной доставки после закрытия соответствующего потребителя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...