更改RabbitMQ绑定

时间:2019-05-16 08:38:49

标签: rabbitmq spring-rabbitmq

我有一个应用程序充当发布者,并定期将消息发送到交易所,还有十几个其他应用程序(订阅者),这些应用程序在语义上受到主题的困扰。我的问题是订阅者可以在不同的组之间移动,因此他们的主题订阅应该更改,但是我无法找到一种方法来动态更改绑定。有什么想法吗?

每个订户的我的配置如下:

@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:我一定不能重启订户SpringBoot应用程序,否则很明显。

1 个答案:

答案 0 :(得分:0)

您不能更改绑定;您可以添加和删除它们。

您可以使用管理界面手动执行此操作,也可以使用RabbitAdmin