如何让Spring Cloud连接到现有的RabbitMQ Exchange和队列

az31mfrm  于 2023-08-04  发布在  Spring
关注(0)|答案(1)|浏览(103)

所以我有一个spring Boot 应用程序,我正在使用spring cloud连接到我的RabbitMQ服务器。我阅读了文档,但有些东西对我来说仍然是模糊的。现在我的应用程序创建队列并在应用程序启动和停止时销毁它,这不是我想要的。所以我的问题是:文档中的绑定是什么,配置文件应该是什么样子的?我试图避免使用任何注解,只通过配置文件来完成。
我试着遵循一些例子并彻底阅读文档

qxgroojn

qxgroojn1#

请参阅文档:https://docs.spring.io/spring-cloud-stream/docs/current/reference/html/spring-cloud-stream-binder-rabbit.html#_using_existing_queuesexchanges
如果您希望使用现有的交换机/队列,则可以完全禁用自动配置,如下所示,假设交换机名为myExchange,队列名为myQueue:

spring.cloud.stream.bindings.<binding name>.destination=myExchange

spring.cloud.stream.bindings.<binding name>.group=myQueue

spring.cloud.stream.rabbit.bindings.<binding name>.consumer.bindQueue=false

spring.cloud.stream.rabbit.bindings.<binding name>.consumer.declareExchange=false

spring.cloud.stream.rabbit.bindings.<binding name>.consumer.queueNameGroupOnly=true

字符串
如果您希望绑定器提供队列/交换,但是您希望使用这里讨论的默认值以外的其他方法来实现,请使用以下属性。有关详细信息,请参阅上面的属性文档。

spring.cloud.stream.rabbit.bindings.<binding name>.consumer.bindingRoutingKey=myRoutingKey

spring.cloud.stream.rabbit.bindings.<binding name>.consumer.exchangeType=<type>

spring.cloud.stream.rabbit.bindings.<binding name>.producer.routingKeyExpression='myRoutingKey'

相关问题