我有多个路由键连接到同一个交换。我在www.example.com中配置了以分号分隔的路由键application.properties,如下所示:
events.routingkey=ONLINE.UPDATE.ADDRESS.RES; ONLINE.UPDATE.ADDRESS.PHN; ONLINE.UPDATE.ADDRESS.MOB; etc....
之后,如果我转到监视器,我会看到这样的路由密钥,但我不太确定是否应该在同一交换的每个绑定中有一个路由密钥,或者这是否可以。
UPDATE:所以我对config类做了如下修改:
@Value("#{'${peopleevents.routingkey}'.split(',')}")
public List<String> routingKey;
然后,当我宣布投标时,我怎么能把每个路由关键字添加到来自同一个交易所的新投标中呢?有没有办法用一个for之类的词来做呢?
@Bean
public Binding binding(Queue queue, TopicExchange exchange) {
return BindingBuilder
.bind(queue)
.to(exchange)
.with(routingKey.foreach(what should I put here?););
}
1条答案
按热度按时间acruukt91#
每个路由关键字都需要单独的绑定。
编辑
如果你使用逗号分隔的列表,你不需要SpEL,Spring会自动分割和修剪这些值: