You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Cloud Stream RabbitMQ消费者配置多绑定路由键问题

解决Spring Cloud Stream Rabbit多路由键绑定问题

我来帮你搞定这个问题——在你使用的Finchley.RC1版本的Spring Cloud Stream中,Rabbit消费者的多路由键配置不能直接用逗号分隔,得换用数组/列表的配置方式才行。

问题原因

在Finchley及更早的Spring Cloud版本中,bindingRoutingKey属性默认只识别单个字符串值,逗号分隔的写法不会被解析成多个路由键,所以你的配置没生效。

正确配置示例(YAML格式)

把多路由键改成YAML列表形式:

spring:
  cloud:
    stream:
      rabbit:
        bindings:
          input1:
            consumer:
              bindingRoutingKey: 
                - key1.#
                - key2.#
      bindings:
        input1:
          binder: rabbit
          group: group1
          destination: dest-group1

如果你用的是.properties格式,写法如下:

spring.cloud.stream.rabbit.bindings.input1.consumer.bindingRoutingKey[0]=key1.#
spring.cloud.stream.rabbit.bindings.input1.consumer.bindingRoutingKey[1]=key2.#

效果说明

配置完成后,Spring Cloud Stream会自动为你的input1通道对应的队列,同时绑定key1.#和key2.#两个路由键到dest-group1对应的Exchange上,这样就能接收匹配这两个路由键的消息了。

内容的提问来源于stack exchange,提问作者Johan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:56:16