JBoss EAP 6.4 中的队列查找

Queue lookup in JBoss EAP 6.4

我的连接工厂:

<connection-factory name="InVmConnectionFactory">
    <connectors>
        <connector-ref connector-name="in-vm"/>
    </connectors>
    <entries>
        <entry name="java:/ConnectionFactory"/>
    </entries>
</connection-factory>

目标队列:

<jms-queue name="TestQueue">
    <entry name="java:jboss/jms/queue/TestQueue"/>
    <durable>true</durable>
</jms-queue>

我已经编写了下面的 Java 示例代码来查找 JBoss EAP 6.4 中定义的队列,但是在查找队列时出现异常。连接工厂查找工作正常

InitialContext ctx = new InitialContext();
QueueConnectionFactory qcf = (QueueConnectionFactory) ctx.lookup("/ConnectionFactory");
qc = qcf.createQueueConnection();

qc.setExceptionListener(this);
qsess = qc.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);

Queue queue = (Queue) ctx.lookup("/jms/queue/TestQueue");
qsndr = qsess.createSender(queue);

抱歉,我发现了问题。我需要指定完全限定名称,否则它将不起作用。使用此代码修复:

     Queue queue = (Queue) ctx.lookup("java:jboss/jms/queue/TestQueue");