RabbitListen 监听多个队列
时间: 2023-07-19 13:17:54 浏览: 63
在RabbitMQ中,可以使用`@RabbitListener`注解来监听队列,监听多个队列的方法也很简单,只需要在注解中设置多个队列名称即可。代码示例如下:
```java
@RabbitListener(queues = {"queueA", "queueB"})
public void receiveMessage(Message message) {
// 处理消息的逻辑
}
```
上述代码中,使用了`@RabbitListener`注解,设置了两个队列名称`queueA`和`queueB`,这样就可以监听这两个队列中的消息。在方法中,可以根据不同的队列名称来处理不同的业务逻辑。
如果需要监听多个队列,还可以使用`@RabbitListener`注解的`bindings`属性,来设置多个队列和交换机之间的绑定关系。示例如下:
```java
@RabbitListener(
bindings = {
@QueueBinding(
value = @Queue(value = "queueA"),
exchange = @Exchange(value = "exchangeA", type = ExchangeTypes.TOPIC),
key = "routingKeyA"
),
@QueueBinding(
value = @Queue(value = "queueB"),
exchange = @Exchange(value = "exchangeB", type = ExchangeTypes.TOPIC),
key = "routingKeyB"
)
}
)
public void receiveMessage(Message message) {
// 处理消息的逻辑
}
```
上述代码中,使用了`@RabbitListener`注解的`bindings`属性,来设置了两个队列和交换机之间的绑定关系,分别是`queueA`和`exchangeA`、`routingKeyA`之间的绑定关系,以及`queueB`和`exchangeB`、`routingKeyB`之间的绑定关系。这样就可以同时监听多个队列和交换机之间的消息了。