yuv*_*hon 6 java spring rabbitmq spring-cloud-stream
我已经使用RabbitMQ的网络的用户界面的话题交换创造TX并绑定到交换两个队列TX.Q1和TX.Q2,每个路由键绑定RK1和RK2因此,和产生的交流几条消息.
现在我想使用Spring Cloud Stream创建一个消费者,它只接收来自Q1的消息.我尝试使用配置:
spring.cloud.stream.bindings.input.destination=TX
spring.cloud.stream.bindings.input.group=Q1
Run Code Online (Sandbox Code Playgroud)
以及使用@StreamListner(Sink.INPUT)消息的方法的注释.
结果我可以看到消费者创建了一个具有相同名称TX.Q1的队列(或绑定),但新队列/ bind的Routing-Key是#.
如何通过Spring Cloud Stream配置消费者,消费者将使用来自预定义队列的消息(仅限于使用rk1路由的消息).
因此,到目前为止,Garry Russell建议的解决方法已经为我解决了这个问题。
我用@RabbitListener的,而不是@StreamListenet这样:
@RabbitListener(bindings = @QueueBinding(value = @Queue(value = "TX.Q1", durable = "true"), exchange = @Exchange(value = "TX", type = "topic", durable = "true"), key = "rk1")。
结果,预定义队列TX.Q1用绑定键rk1绑定到交换机TX。
等待有关Spring Cloud Steream问题的更新。
| 归档时间: |
|
| 查看次数: |
2716 次 |
| 最近记录: |