4.9. 指定完全限定的队列名称
在内部,代理将地址的请求映射到特定队列。代理决定客户端发送到哪个队列发送消息的队列,或者从哪个队列接收消息。但是,更高级的用例可能需要客户端直接指定队列名称。在这些情况下,客户端可以使用 完全限定的队列名称 (FQQN)。FQQN 包含地址名称和队列名称,由 ::
分隔。
以下步骤演示了如何在连接到具有多个队列的地址时指定 FQQN。
先决条件
您配置了两个或多个队列的地址,如以下示例所示。
<configuration ...> <core ...> ... <addresses> <address name="my.address"> <anycast> <queue name="q1" /> <queue name="q2" /> </anycast> </address> </addresses> </core> </configuration>
步骤
在客户端代码中,在从代理请求连接时使用地址名称和队列名称。使用两个冒号
::
来分隔名称。例如:String FQQN = "my.address::q1"; Queue q1 session.createQueue(FQQN); MessageConsumer consumer = session.createConsumer(q1);