繁体   English   中英

Rabbit Spring Cloud Stream 将主题绑定到单个队列

[英]Rabbit spring cloud stream bind topics to single queue

是否可以将多个主题从交换绑定到单个队列? 例如,我有生产者声明一个交换并发送三个主题log.verboselog.infolog.error

我希望有两个消费者声明自己的队列并绑定到交换。 第一个消费者订阅前两个主题log.verboselog.info ,另一个消费者订阅所有主题。

是否可以为消费者 1 定义这样的配置?

spring.cloud.stream.bindings.input.destination=log
spring.cloud.stream.rabbit.bindings.input.consumer.bindingRoutingKey=log.info,log.verbose

在此处输入图片说明

您目前无法通过属性配置来完成,但您可以自己添加第二个绑定,或者在管理 UI 上手动添加,或者通过将ExchangeQueueBinding @Bean添加到应用程序中。 您不能简单地添加第二个@Binding bean,因为当RabbitAdmin时队列还不存在(当应用程序第一次启动并且不存在队列时)。

请参阅 Spring AMQP 参考手册中的配置代理

此技术不适用于匿名使用者(没有为input指定...group属性),因为队列名称未知。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM