Rabbitmq 如何将RabbitListener绑定到同一交换机上的多个路由密钥

Rabbitmq 如何将RabbitListener绑定到同一交换机上的多个路由密钥,rabbitmq,spring-rabbit,Rabbitmq,Spring Rabbit,如何将Rabbit侦听器绑定到同一交换机上的多个路由密钥 这就是我到目前为止所做的: @RabbitListener(bindings = { @QueueBinding(value = @Queue(value = "foo"), exchange = @Exchange("ex1"), key="foo") }) public void listen(String in) { // Do someth

如何将Rabbit侦听器绑定到同一交换机上的多个路由密钥

这就是我到目前为止所做的:

@RabbitListener(bindings = {
    @QueueBinding(value =
        @Queue(value = "foo"), exchange = @Exchange("ex1"), key="foo")
})
public void listen(String in) {
    // Do something
}

@QueueBinding
注释的
属性如下:

/**
 * @return the routing key or pattern for the binding.
 * Multiple elements will result in multiple bindings.
 */
String[] key() default {};
因此,您只需要有这些路由密钥的列表:

@QueueBinding(value =
    @Queue(value = "foo"), exchange = @Exchange("ex1"), key={"foo", "bar", "baz"})

或者从那些JavaDocs中看到的模式。

这对我不适用。我使用的是SpringRabbit 1.7.9.RELEASE。它的impl是
String key()默认值“”好吧,你必须在问题中提到这一点,然后不要让我们感到困惑。那么,声明另一个
@RabbitListener
方法吧!或者只是升级到更现代的库版本。。。