4.4. パブリッシュサブスクライブメッセージングのアドレスの設定
パブリッシュ/サブスクライブのシナリオでは、メッセージはアドレスにサブスクライブしているすべてのコンシューマーに送信されます。JMS トピックおよび MQTT サブスクリプションは、パブリッシュ/サブスクライブメッセージングの 2 つの例です。アドレスに関連付けられたキューがパブリッシュ/サブスクライブ方式でメッセージを受信するようにするには、ブローカー設定で特定の address
要素の multicast
ルーティングタイプを定義します。
multicast
ルーティングタイプのアドレスでメッセージが受信されると、ブローカーはメッセージのコピーをそのアドレスに関連付けられた各キューにルーティングします。コピーのオーバーヘッドを減らすために、各キューにはメッセージへの参照のみが送信され、完全なコピーは送信されません。
以下の図は、パブリッシュ/サブスクライブメッセージングの例を示しています。
図4.3 Publish-subscribe メッセージング
以下の手順は、パブリッシュサブスクライブメッセージングのアドレスを設定する方法を示しています。
手順
-
<broker_instance_dir>/etc/broker.xml
設定ファイルを開きます。 空の
multicast
設定要素をアドレスに追加します。<configuration ...> <core ...> ... <address name="my.multicast.destination"> <multicast/> </address> </core> </configuration>
(オプション)1 つ以上の
queue
要素をアドレスに追加し、その中のmulticast
要素をラップします。ブローカーはクライアントがリクエストする各サブスクリプションのキューを自動的に作成するため、この手順は必要ありません。<configuration ...> <core ...> ... <address name="my.multicast.destination"> <multicast> <queue name="client123.my.multicast.destination"/> <queue name="client456.my.multicast.destination"/> </multicast> </address> </core> </configuration>