问题描述
我们正在使用带有RabbitMQ绑定器的Spring Cloud Steam。
我目前正在设置RabbitMQ集群,并希望使用仲裁队列。设置队列类型的选项必须在创建队列时发送。在Spring Cloud Stream 3.0.0版本中,添加了该选项,但是我们使用的是String Boot和String Cloud Stream的旧版本,并且不想更新,因为我们的实时发布将在接下来的几周内。 / p>
我已经查看了PR link。但是这些选项都是私有的,我看不到任何侦听器或拦截器。
是否可以将其他参数注入到队列创建调用中?
解决方法
我建议升级到新版本。
较早版本的唯一选择是手动设置和绑定队列,并禁用自动设置队列,如binder reference中所述。
如果您要使用现有的交换/队列,则可以完全禁用自动配置,如下所示,假设该交换名为myExchange且该队列名为myQueue:
spring.cloud.stream.binding.<binding name>.destination=myExhange
spring.cloud.stream.binding.<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