179.13. 并发使用
JMS 的一个常见要求是同时使用多个线程中的消息,以便应用更迅速地响应。您可以设置 concurrentConsumers
选项来指定为 JMS 端点提供服务的线程数量,如下所示:
from("jms:SomeQueue?concurrentConsumers=20"). bean(MyClass.class);
您可以使用以下方法之一配置这个选项:
-
在
JmsComponent
, - 在端点 URI 或.
-
在
JmsEndpoint
上直接调用setConcurrentConsumers ()
。
179.13.1. 使用 async consumer 的并发使用
请注意,当当前消息被完全处理时,每个并发消费者只会从 JMS 代理获取下一个可用消息。您可以设置 asyncConsumer=true
选项,以便消费者从 JMS 队列中获取下一个消息,同时将前面的消息异步处理(通过异步路由引擎)。请参阅页顶部的有关 asyncConsumer
选项的详情。
from("jms:SomeQueue?concurrentConsumers=20&asyncConsumer=true"). bean(MyClass.class);