177.11. 并发假设

JMS 的常见要求是在多个线程中并发使用消息,以便应用更加响应。您可以设置 并发Consumers 选项来指定为 JMS 端点提供服务的线程数量,如下所示:

from("jms:SomeQueue?concurrentConsumers=20").
  bean(MyClass.class);

您可以使用以下方法之一配置这个选项:

  • JmsComponent 处,
  • 在端点 URI 或.
  • 通过在 JmsEndpoint 上直接调用 setConcurrentConsumers ()

177.11.1. 使用 async 消费者的并发假设

请注意,当当前消息被完全处理后,每个并发使用者只会从 JMS 代理获取下一个可用消息。您可以将选项 asyncConsumer=true 设置为让使用者从 JMS 队列中获取下一消息,而前面的消息则会被异步处理(通过异步路由引擎)。有关 asyncConsumer 选项,请参阅页面顶部的更详细的信息。

from("jms:SomeQueue?concurrentConsumers=20&asyncConsumer=true").
  bean(MyClass.class);