4.9. 完全修飾キュー名の指定
内部的には、ブローカーはアドレスのクライアント要求を特定のキューにマッピングします。ブローカーは、メッセージの送信先となるキューまたはメッセージを受信するキューをクライアントに代わって決定します。ただし、より高度なユースケースでは、クライアントが直接キュー名を指定する必要がある場合があります。このような状況では、クライアントは 完全修飾キュー名 (FQQN) を使用できます。FQQN には、::
で区切られたアドレス名とキュー名の両方が含まれています。
以下の手順では、複数のキューを持つアドレスに接続する際に FQQN を指定する方法を説明します。
前提条件
以下の例のように、2 つ以上のキューが設定されているアドレスがあります。
<configuration ...> <core ...> ... <addresses> <address name="my.address"> <anycast> <queue name="q1" /> <queue name="q2" /> </anycast> </address> </addresses> </core> </configuration>
手順
クライアントコードで、ブローカーから接続を要求する際に、アドレス名とキュー名の両方を使用します。名前を区切りには、2 つのコロン (
::
) を使用します。以下に例を示します。String FQQN = "my.address::q1"; Queue q1 session.createQueue(FQQN); MessageConsumer consumer = session.createConsumer(q1);