默认情况下,活页夹将自动预配主题交换,其名称派生自 destination 绑定属性的值。 如果未提供,则目标默认为绑定名称。 绑定使用者时,将自动使用名称(如果指定了绑定属性)预配队列,如果没有 . 队列将绑定到具有“match-all”通配符路由键 () 的交换,用于非分区绑定或分区绑定。 默认情况下,前缀为空。 如果用 指定了输出绑定,则将为每个组设置一个队列/绑定。<prefix><destination><prefix><destination>.<group>groupgroup#<destination>-<instanceIndex>StringrequiredGroupsSpring中文文档

有许多特定于 rabbit 的绑定属性允许您修改此默认行为。Spring中文文档

如果您有要使用的现有交换/队列,则可以完全禁用自动配置,如下所示,假设交换已命名并且队列已命名:myExchangemyQueueSpring中文文档

  • spring.cloud.stream.bindings.<binding name>.destination=myExchangeSpring中文文档

  • spring.cloud.stream.bindings.<binding name>.group=myQueueSpring中文文档

  • spring.cloud.stream.rabbit.bindings.<binding name>.consumer.bindQueue=falseSpring中文文档

  • spring.cloud.stream.rabbit.bindings.<binding name>.consumer.declareExchange=falseSpring中文文档

  • spring.cloud.stream.rabbit.bindings.<binding name>.consumer.queueNameGroupOnly=trueSpring中文文档

如果希望绑定程序设置队列/交换,但希望使用此处讨论的默认值以外的其他方法,请使用以下属性。 有关详细信息,请参阅上面的属性文档。Spring中文文档

  • spring.cloud.stream.rabbit.bindings.<binding name>.consumer.bindingRoutingKey=myRoutingKeySpring中文文档

  • spring.cloud.stream.rabbit.bindings.<binding name>.consumer.exchangeType=<type>Spring中文文档

  • spring.cloud.stream.rabbit.bindings.<binding name>.producer.routingKeyExpression='myRoutingKey'Spring中文文档

在声明死信交换/队列时,也会使用类似的属性,当 是 。autoBindDlqtrueSpring中文文档