Я пытаюсь изящно завершить процесс, который использует сообщения от RabbitMQ. Я знаю, что могу использовать Channel.cancel
, чтобы остановить RabbitMQ от отправки каких-либо новых сообщений процессу, но мне также нужно иметь дело с любыми ожидающими, неподтвержденными сообщениями. Я мог бы просто вызвать Channel.nackAll
и повторно поставить их все в очередь, но было бы лучше, если бы я мог подождать, пока все ожидающие сообщения — сообщения, которые были потреблены, но еще не подтверждены/не подтверждены.
Есть идеи, как этого добиться?