4.13. 特定のルーティングタイプに接続するための接頭辞設定
通常、anycast と multicast の両方を使用しているアドレスでメッセージを受信した場合に、anycast のいずれかのキューがメッセージと、multicast のすべてのキューを受信します。ただし、クライアントは、アドレスに接続する際に特別な接頭辞を指定して、anycast と multicast キャストのどちらで接続するかを指定することができます。接頭辞は、acceptor の URL 内で anycastPrefix および multicastPrefix パラメーターを使用して指定されるカスタム値です。
Anycast 接頭辞の設定
-
BROKER_INSTANCE_DIR/etc/broker.xmlで、目的のacceptorの URL にanycastPrefixを追加します。以下の例では、acceptorはanycastPrefixにanycast://を使用するように設定されています。クライアントが anycast キューの 1 つだけにメッセージを送信する必要がある場合は、クライアントコードでanycast://foo/を指定できます。
<configuration ...>
<core ...>
...
<acceptors>
<!-- Acceptor for every supported protocol -->
<acceptor name="artemis">tcp://0.0.0.0:61616?protocols=AMQP;anycastPrefix=anycast://</acceptor>
</acceptors>
...
</core>
</configuration>
Multicast 接頭辞の設定
-
BROKER_INSTANCE_DIR/etc/broker.xmlで、目的のacceptorの URL にanycastPrefixを追加します。以下の例では、acceptorは、multicastPrefix にmulticast://を使用するように設定されています。クライアントがアドレスの multicast キューのみにメッセージを送信する必要がある場合、クライアントコードはmulticast://foo/を指定できます。
<configuration ...>
<core ...>
...
<acceptors>
<!-- Acceptor for every supported protocol -->
<acceptor name="artemis">tcp://0.0.0.0:61616?protocols=AMQP;multicastPrefix=multicast://</acceptor>
</acceptors>
...
</core>
</configuration>