我想在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 cloud依赖项是从以下位置导入的:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.RC1</version> <type>pom</type> <scope>import</scope> </dependency>
有谁知道如何实现这一目标?
现在可以通过添加属性来完成:
spring.cloud.stream.rabbit.bindings.<channel-name>.consumer.binding-routing-key-delimiter=,
然后,您可以用逗号分隔路由键:
spring.cloud.stream.rabbit.bindings.<channel-name>.consumer.binding-routing-keys=key1,key2,key3
谢谢加里