使用Spring云流,您可以通过指定"默认"来避免每个频道的冗余属性。属性。
例如,如果我有2个频道绑定到同一目的地/交换机,我可以这样做:
spring.cloud.stream.default.destination=myExchange
spring.cloud.stream.bindings.myChannel1.group=queue1
spring.cloud.stream.bindings.myChannel2.group=queue2
并且queue1和queue2都将绑定到myExchange。
这是有记录的,我是为某些属性做的。
但是......我想对 RabbitMQ 绑定属性做同样的事情。
例如,如果我想为所有的消费者/队列使用DLQ,请执行以下操作:
spring.cloud.stream.rabbit.default.consumer.auto-bind-dlq=true
spring.cloud.stream.rabbit.default.consumer.dlq-ttl=10000
spring.cloud.stream.rabbit.default.consumer.dlq-dead-letter-exchange=
否则,我必须为每个频道指定相同的3行。
有没有办法做到这一点?我尝试了几种不同的排列无济于事。
顺便说一下,我是关于spring-cloud-starter-stream-rabbit的版本1.2.1.RELEASE。
感谢。
答案 0 :(得分:1)
支持。请参阅用户指南的https://docs.spring.io/spring-cloud-stream/docs/Elmhurst.RELEASE/reference/htmlsingle/#binding-properties部分
To avoid repetition, Spring Cloud Stream supports setting values for all channels, in the format of spring.cloud.stream.default.<property>=<value>
答案 1 :(得分:0)
根据Spring Cloud Stream文档,自版本2.1.0.RELEASE起可能。
在避免重复使用扩展绑定属性时, 应该使用这种格式
spring.cloud.stream.<binder-type>.default.<producer|consumer>.<property>=<value>
不幸的是,到目前为止,我无法使其正常工作。有人知道吗?