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);