Рассмотрим следующий сценарий:
Сообщение помещается в очередь. Очередь объявлена долговечной.
Один потребитель получает сообщение из очереди, но не подтверждает его. Основное потребление было выполнено на сообщении потребителем. В данный момент на веб-сайте управления rabbitmq я вижу, что количество ready_message уменьшается на 1, а количество messages_unacknowledged увеличивается на 1.
После этого по тегу / информации о доставке сообщения был выполнен основной отказ с требованием. Число сообщений и сообщений в том же порядке здесь и в очереди.
Теперь я выполнил базовое восстановление для того же потребителя на том же канале. Однако даже после выполнения базового восстановления и добавления некоторого спящего режима счетчик message_unacknowledged не уменьшается на 1, а счетчик message_ready увеличивается на 1.
Наконец, когда я закрываю текущий канал, я вижу, что количество message_unacknowledged уменьшается на 1, а количество message_ready увеличивается на 1.
У меня вопрос: нельзя ли восстановить неподтвержденные сообщения одного и того же потребителя, если вы не закроете свой текущий канал в RabbitMQ?