@RabbitListener(queues = {"queue1", "queue2"})
public void reciver(String message) {
logger.info("thread id:{}, message:{}", Thread.currentThread().getId(), message);
}
发现queue1和queue2使用相同的线程。 这里想要queue1和queue2占用不同的线程。我该怎么办?
答案 0 :(得分:1)
您需要使用两个单独的侦听器来实现此目的。
如果将容器concurrency
设置为2,您将获得两个线程,但来自两个队列的消息将分布在两个线程中(每个队列都不会绑定到特定线程。
DirectMessageListenerContainer
(在2.0版中添加),完全使用不同的线程模型 - 在rabbitmq客户端库线程上调用侦听器;每个监听器没有专用线程。