使用现有队列/交换

默认情况下,绑定程序将自动预配主题交换,其名称派生自目标绑定属性的值<prefix><destination>. 目标默认为绑定名称(如果未提供)。 绑定使用者时,将自动预配一个队列,名称为<prefix><destination>.<group>(如果groupbinding 属性),或者如果没有group. 队列将使用“match-all”通配符路由键 () 绑定到交换,用于非分区绑定或#<destination>-<instanceIndex>用于分区绑定。 前缀为空String默认情况下。 如果输出绑定指定为requiredGroups,将为每个组预配一个队列/绑定。spring-doc.cadn.net.cn

有许多特定于 rabbit 的绑定属性允许您修改此默认行为。spring-doc.cadn.net.cn

如果您希望使用现有的交换/队列,则可以完全禁用自动配置,如下所示,假设交换名为myExchange队列命名为myQueue:spring-doc.cadn.net.cn

如果您希望 Binder 预配队列/交换,但又想使用此处讨论的默认值以外的其他内容来执行此作,请使用以下属性。 有关更多信息,请参阅上面的属性文档。spring-doc.cadn.net.cn

  • spring.cloud.stream.rabbit.bindings.<binding name>.consumer.bindingRoutingKey=myRoutingKeyspring-doc.cadn.net.cn

  • spring.cloud.stream.rabbit.bindings.<binding name>.consumer.exchangeType=<type>spring-doc.cadn.net.cn

  • spring.cloud.stream.rabbit.bindings.<binding name>.producer.routingKeyExpression='myRoutingKey'spring-doc.cadn.net.cn

声明死信交换/队列时使用类似的属性,当autoBindDlqtrue.spring-doc.cadn.net.cn