我正在尝试使用2.1.2版本的Spring AMQP创建与主题交换的多个绑定。
我发现了这个问题:How to setup multiple topics in a RabbitMQ Java config class using Spring Framework?
似乎有答案。我还发现documention提供了相同的解决方案。
但是,当我在Bean中返回一个List时,并没有创建绑定。如果我返回一个Binding,那么它确实起作用。由于缺乏声誉,我无法在该问题上添加评论。
这是我的代码:
@Bean
public TopicExchange topicExchange() {
return new TopicExchange("topicExchange");
}
@Bean
public Queue testQueue() {
return new Queue("testQueue");
}
@Bean
List<Binding> multipleBindings() {
return Arrays.asList(
BindingBuilder.bind(testQueue()).to(topicExchange()).with("t1"),
BindingBuilder.bind(testQueue()).to(topicExchange()).with("t2"));
}
@Bean
Binding singleBinding() {
return BindingBuilder.bind(testQueue()).to(topicExchange()).with("t3");
}
在此代码中,我获得了“ t3”主题绑定,但是在查看Rabbit Management控制台时看不到“ t1”或“ t2”。
请帮助,因为此代码看起来非常简单,并且遵循文档。我想念什么?
谢谢
答案 0 :(得分:1)
您指的是非常古老的文档。根据您使用的版本,已经有一个Declarables
容器而不是List
可以使用:https://docs.spring.io/spring-amqp/docs/2.1.4.RELEASE/reference/#collection-declaration