Spring AMQP Получить существующие имена и аргументы очереди - PullRequest
0 голосов
/ 04 мая 2020

У нас есть очередь в производстве, где TTL сообщения был установлен через приложение. Теперь мы хотим изменить TTL сообщения и присоединить политику через CTL кролика, чем установка в приложении. Фрагмент:

    Map<String, Object> args = new HashMap<>();
    args.put("x-message-ttl", 86400000);
    for (String queueName : queueNames) {
            Queue queue = new Queue(queueName, true, false, false, args);
            admin.declareQueue(queue);
     ...
    }

Чтобы добиться этого в запущенном приложении, мы хотим, чтобы способ проверки, если очередь уже существует, ничего не делает, в противном случае создайте новую очередь без аргументов. Невозможно использовать локальный кеш, так как несколько узлов издателя / подписчика могут перезапускаться при незапланированном отключении. С учетом вышеизложенного можно было бы изменить TTL во время обновления / миграции Rabbit. Можете ли вы помочь, если есть API для извлечения всех существующих очередей и его свойств аргумента?

Примечание: переопределение x-message-ttl с ошибкой сброса другого значения.

1 Ответ

0 голосов
/ 04 мая 2020

RabbitMQ имеет REST API и java клиент для него .

Вы можете использовать это для получения информации о существующих элементах, таких как очереди.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...