Как узнать количество потребителей уже объявленной очереди в Spring-AMQP? - PullRequest
1 голос
/ 24 мая 2019

Есть ли способ узнать количество подписчиков уже объявленной очереди в Spring AMQP?Я нашел класс com.rabbitmq.client.Channel, с помощью которого я могу это сделать:

int consumerCount = channel.queueDeclare().getConsumerCount();

Однако это объявляет новую очередь со случайным именем, и, поскольку у него нет потребителя, он возвращает 0.

Есть ли способ сделать это для уже объявленной очереди?

1 Ответ

2 голосов
/ 24 мая 2019

Вы можете использовать пассивное объявление .

Пассивное объявление просто проверяет, что сущность с указанным именем существует.Если это так, операция не работает.Для очередей успешные пассивные объявления будут возвращать ту же информацию, что и непассивные, а именно количество потребителей и сообщений в состоянии готовности в очереди.

Queue.DeclareOk response = channel.queueDeclarePassive("queue-name");
// returns the number of messages in Ready state in the queue
response.getMessageCount();
// returns the number of consumers the queue has
response.getConsumerCount();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...