Red Hat Training

A Red Hat training course is available for Red Hat Fuse

169.11. 同時消費

JMS の一般的な要件は、アプリケーションの応答性を高めるために、複数のスレッドで同時にメッセージを消費することです。次のように、concurrentConsumers オプションを設定して、JMS エンドポイントにサービスを提供するスレッドの数を指定できます。

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

このオプションは、次のいずれかの方法で設定できます。

  • JmsComponent で、
  • エンドポイント URI または、
  • JmsEndpoint で直接 setConcurrentConsumers () を呼び出す。

169.11.1. 非同期コンシューマーによる同時消費

各同時コンシューマーは、現在のメッセージが完全に処理されたときに、JMS ブローカーから次に利用可能なメッセージのみを取得することに注意してください。オプション asyncConsumer=true を設定すると、前のメッセージが (非同期ルーティングエンジンによって) 非同期に処理されている間に、コンシューマーが JMS キューから次のメッセージをピックアップできるようになります。asyncConsumer オプションの詳細については、ページ上部の表を参照してください。

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