Множество bindingRoutingKey для потребителя с Spring Cloud Stream с использованием RabbitMQ - PullRequest
0 голосов
/ 29 мая 2018

Я бы хотел настроить входной канал в Spring Cloud Stream для привязки к одному и тому же обмену (месту назначения) с несколькими ключами маршрутизации.Мне удалось заставить это работать с одним ключом маршрутизации, подобным этому:

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

Но я не могу заставить его работать для нескольких ключей.Я пробовал это:

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

Но, похоже, это не работает.

Я использую Spring Boot 2.0.1, и облачные зависимости Spring импортируются из:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-dependencies</artifactId>
    <version>Finchley.RC1</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

Кто-нибудь знает, как этого добиться?

1 Ответ

0 голосов
/ 29 мая 2018

Это невозможно сделать с помощью свойств;но вы можете объявить дополнительные привязки как бины;см. этот ответ .

Существует также сторонний "продвинутый" загрузчик , который позволяет добавлять объявления в файл yaml.Я не пробовал, но выглядит интересно.

...