4.17. 排他的キューの設定
排他的キューは、すべてのメッセージを一度に 1 つのコンシューマーにのみルーティングする特別なキューです。この設定は、すべてのメッセージを同じコンシューマーによって順次処理する必要がある場合に便利です。キューに複数のコンシューマーがある場合は、1 つのコンシューマーのみがメッセージを受信します。コンシューマーがキューから切断されると、別のコンシューマーが選択されます。
4.17.1. 排他的キューの個別設定
以下の手順では、特定のキューを個別に排他的に設定する方法を示しています。
手順
-
<broker_instance_dir>/etc/broker.xml
設定ファイルを開きます。 指定されたキューに、
exclusive
キーを追加します。この値はtrue
に設定します。<configuration ...> <core ...> ... <address name="my.address"> <multicast> <queue name="orders1" exclusive="true"/> </multicast> </address> </core> </configuration>
4.17.2. アドレスの排他的キューの設定
以下の手順では、関連するすべてのキューが排他的になるようにアドレスまたは一連のアドレス を設定する方法を説明します。
-
<broker_instance_dir>/etc/broker.xml
設定ファイルを開きます。 一致するアドレスの
address-setting
要素にdefault-exclusive-queue
キーを追加します。この値はtrue
に設定します。<address-setting match="myAddress"> <default-exclusive-queue>true</default-exclusive-queue> </address-setting>
上記の設定に基づいて、
myAddress
に関連付けられたすべてのキューは排他的です。デフォルトでは、default-exclusive-queue
の値はfalse
です。アドレスセットに排他的キューを設定するには、アドレスワイルドカードを指定します。以下に例を示します。
<address-setting match="myAddress.*"> <default-exclusive-queue>true</default-exclusive-queue> </address-setting>
関連情報
- アドレスの設定時に使用できるワイルドカード構文についての詳細は、「アドレスセットへのアドレス設定の適用」 を参照してください。