Изменить привязки RabbitMQ - PullRequest
1 голос
/ 16 мая 2019

У меня есть одно приложение, которое выступает в качестве издателя и регулярно отправляет сообщения на биржу, а также дюжину других (подписчиков), которые семантически нащупываются по темам. Моя проблема в том, что подписчики могут перемещаться между разными группами, поэтому их тематическая подписка должна меняться, но я не могу найти способ, как динамически изменять привязки. Есть идеи?

Мой конфиг для каждого подписчика выглядит так:

@Bean
TopicExchange exchange() {
    return new TopicExchange(exchangeName);
}

@Bean
Binding binding(Queue queue, TopicExchange exchange) {
    return BindingBuilder.bind(queue).to(exchange).with(routingKey);
}

@Bean
Queue queue(SystemInformationService systemInformationService) {
    return new Queue(systemInformationService.getInfo().getTemplateName() != null ?  systemInformationService.getInfo().getTemplateName() : queueName , true);
}

}

P.S .: Я не должен перезапускать свое приложение Subscriber SpringBoot, иначе это вполне очевидно.

1 Ответ

0 голосов
/ 16 мая 2019

Вы не можете изменять привязки; однако вы можете добавлять и удалять их.

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

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