将仲裁队列与3.0.0之前的字符串云流一起使用

问题描述

我们正在使用带有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