26.12. 同時消費
JMS の一般的な要件は、アプリケーションの応答性を高めるために、複数のスレッドでメッセージを同時に消費することです。以下のように、concurrentConsumers オプションを設定して、JMS エンドポイントを提供するスレッドの数を指定できます。
from("jms:SomeQueue?concurrentConsumers=20").
bean(MyClass.class);
from("jms:SomeQueue?concurrentConsumers=20").
bean(MyClass.class);
このオプションは、以下のいずれかの方法で設定できます。
-
JmsComponentで以下を行います。 - エンドポイント URI または
-
JmsEndpointでsetConcurrentConsumers ()を直接呼び出す。
26.12.1. 非同期コンシューマーによる同時消費 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
各同時コンシューマーは、現在のメッセージが完全に処理されたときに、JMS ブローカーから次に利用可能なメッセージのみを選択することに注意してください。オプション asyncConsumer=true を設定すると、前のメッセージが非同期的に処理され、(非同期ルーティングエンジンで)JMS キューから次のメッセージを選択できるようになります。asyncConsumer オプションに関するページ上部にある表の詳細は、を参照してください。
from("jms:SomeQueue?concurrentConsumers=20&asyncConsumer=true").
bean(MyClass.class);
from("jms:SomeQueue?concurrentConsumers=20&asyncConsumer=true").
bean(MyClass.class);