我使用DirectMessageListenerContainer来监听各个队列,因为它创建了使用者每个队列,如果说“ queue1”上的消息需要花费一些时间来处理,而“ queue2”上的消息则需要快速处理,则可以防止队列不足。处理。我对DirectMessageListenerContainer.setConsumersPerQueue方法感到困惑。缺省值为1,查看源代码。
在什么条件下,需要将其增加到大于1?如果保留默认值1,并且获取大小大于1,则是否以给定队列的多线程方式处理消息?
DirectMessageListenerContainer
listenerContainer =
new DirectMessageListenerContainer(connectionFactory);
listenerContainer.setConsumersPerQueue(10);
listenerContainer.addQueueNames("queue1","queue2");
预取大小对并发没有影响;就是这样预取。