RabbitTemplate получает сообщения и ставит их в очередь

Мой вопрос очень похож на этот: Прием и запрос RabbitTemplate К сожалению, он был отмечен как ответ хотя ответ не соответствует моим потребностям.

Я хочу имитировать функциональность пользовательского интерфейса Rabbit Admin, т.е. я хочу синхронно читать сообщения из очереди, но не хочу, чтобы очередь их теряла, т.е. что-то вроде просмотра.

Ответ здесь RabbitTemplate receive and requeue предлагает использовать прослушиватель, но в этом случае он будет читать и запрашивать бесконечно. Я хочу получить и запросить сообщения только один раз, поэтому я думаю, что мне следует использовать RabbitTemplate, а не прослушиватель.


person Ruslan    schedule 24.11.2015    source источник


Ответы (1)


person    schedule
comment
@GarryRussel, хорошо выглядит. Но как я могу получить N сообщений (или все сообщения)? Должен ли я вызывать basicGet в цикле, пока не получу null? - person Ruslan; 24.11.2015
comment
Да, и вы можете отклонить их все одним вызовом basicNack (вместо basicReject) — очевидно, изменить тип возврата на Collection<Message> или аналогичный. - person Gary Russell; 24.11.2015