使用Spring Cloud Stream时使用queueNameGroupOnly命名RabbitMQ队列

时间:2018-07-09 06:22:16

标签: spring stream rabbitmq cloud

我正在尝试为项目中的使用者使用queueNameGroupOnly属性。我的application-local.yml的一部分看起来像这样:

spring: 
  cloud:
    stream:
      bindings:
        something:
          destination: myproject.ex.something
          binder: myRabbit
          group: myproject.q.myCustomQueue
          consumer:
            queueNameGroupOnly: true

当我尝试像这样运行它时,最终得到一个队列,其名称如下:myproject.ex.something.myproject.q.myCustomQueue。如果我从application-local.yml中删除这部分

consumer:
  queueNameGroupOnly: true

并将其添加到application-local.properties

spring.cloud.stream.rabbit.bindings.something.consumer.queueNameGroupOnly=true

最终我得到了我真正想要的名字-myproject.q.myCustomQueue。

我是否缺少一些明显的东西?

编辑: 当我这样写的时候,它起作用了:

spring: 
  cloud:
    stream:
      bindings:
        something:
          destination: myproject.ex.something
          binder: myRabbit
          group: myproject.q.myCustomQueue
      rabbit:
        bindings:
          something:
            consumer:
              queueNameGroupOnly: true

但是我不喜欢它的外观,根本不干净。还有其他选择吗?

0 个答案:

没有答案