Spring AMQP есть ли способ установить максимальное количество потребителей на всех виртуальных машинах? - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть 4 экземпляра моего весеннего загрузочного приложения, работающего на 4 разных JVM.Есть ли способ установить максимальное количество глобальных потребителей?В настоящее время у меня есть setMaxConcurrentConsumers (1);задавать.Проблема в том, что на каждой виртуальной машине Java создается один потребитель.Я надеялся создать одного потребителя через 4 JVM.В настоящее время я использую SimpleRabbitListenerContainerFactory и надеялся, что эта функция доступна там.Если нет, то возможно ли это с DirectRabbitListenerContainerFactory?

В основном я думаю, что спрашиваю, как установить channel.basicQos (15, true);// Ограничение на канал в Spring-AMQP для RabbitMQ.

Спасибо, Брайан

1 Ответ

0 голосов
/ 26 декабря 2018

Невозможно установить такой предел, если этот предел больше 1.

Чтобы ограничить одного потребителя, вы можете установить исключительный флаг потребителя (на @RabbitListener);тогда разрешен только один потребитель, а другие экземпляры будут пытаться потреблять до тех пор, пока текущий потребитель не умрет (горячий резерв).

...