RabbitTemplate получава съобщения и опашка

Моят въпрос е много подобен на този: RabbitTemplate получаване и повторна опашка За съжаление е маркиран като отговорен въпреки че отговорът не отговаря на нуждите ми.

Искам да имитирам функционалността на потребителския интерфейс на администратора на Rabbit, т.е. искам синхронно да чета съобщения от опашка, но не искам опашката да ги губи, т.е. нещо като надникване.

Отговорът тук 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