我有一个应用程序充当发布者,并定期将消息发送到交易所,还有十几个其他应用程序(订阅者),这些应用程序在语义上受到主题的困扰。我的问题是订阅者可以在不同的组之间移动,因此他们的主题订阅应该更改,但是我无法找到一种方法来动态更改绑定。有什么想法吗?
每个订户的我的配置如下:
@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应用程序,否则很明显。
答案 0 :(得分:0)
您不能更改绑定;您可以添加和删除它们。
您可以使用管理界面手动执行此操作,也可以使用RabbitAdmin
。