Повторная доставка неподтвержденного сообщения одному и тому же потребителю без закрытия канала или перезапуска брокера - PullRequest
0 голосов
/ 03 мая 2019

Рассмотрим следующий сценарий:

  • Сообщение помещается в очередь. Очередь объявлена ​​долговечной.

  • Один потребитель получает сообщение из очереди, но не подтверждает его. Основное потребление было выполнено на сообщении потребителем. В данный момент на веб-сайте управления rabbitmq я вижу, что количество ready_message уменьшается на 1, а количество messages_unacknowledged увеличивается на 1.

  • После этого по тегу / информации о доставке сообщения был выполнен основной отказ с требованием. Число сообщений и сообщений в том же порядке здесь и в очереди.

Теперь я выполнил базовое восстановление для того же потребителя на том же канале. Однако даже после выполнения базового восстановления и добавления некоторого спящего режима счетчик message_unacknowledged не уменьшается на 1, а счетчик message_ready увеличивается на 1. Наконец, когда я закрываю текущий канал, я вижу, что количество message_unacknowledged уменьшается на 1, а количество message_ready увеличивается на 1. У меня вопрос: нельзя ли восстановить неподтвержденные сообщения одного и того же потребителя, если вы не закроете свой текущий канал в RabbitMQ?

...