有没有办法告诉spring bus重命名rabbitmq队列?在启动时,它们似乎只是一些随机值,如下所示:
springCloudBus.anonymous.4zzIP0z-TH6oIza5mCun7Q
尝试让spring总线将其重命名为更易于阅读的可预测队列名称。例如:
testQueue
或了解其持有消息的服务。
我尝试将以下内容添加到boot.un的application.yml上:
spring:
cloud:
stream:
bindings:
output:
destination: testQueue
无济于事。请帮忙!!
答案 0 :(得分:1)
注意:匿名组对于Spring Cloud Bus正常运行至关重要。
使用小组制作
a)订阅持久,这意味着应用程序将接收所有事件(包括在未运行时发送的事件)
b)使用群组意味着应用可以成为竞争消费者,这意味着事件不会被广播c)不再自动删除队列
您在spring-cloud-bus
入站/出站渠道中设置的目的地是rabbitmq交换而不是队列。
对于spring-cloud-bus
,出站频道名称为springCloudBusOutput
。
因此,您的配置需要:
spring:
cloud:
stream:
bindings:
springCloudBusOutput:
destination: testExchange
目的地名称 testExchange 是交换名称,而不是queue
名称。
要避免队列中的anonymous
名称,您可以为group
频道绑定设置inbound
名称。
spring:
cloud:
stream:
bindings:
springCloudBusInput:
destination: testExchange
group: testQueue
这将使队列名称为testExchange.testQueue