如何获取现有JMS队列?

时间:2010-01-23 00:54:26

标签: java jms jndi ibm-mq

我觉得这可能是一个非常简单的问题,但这是我第一次涉足JMS,所以我有点不确定。

我正在尝试写入现有的JMS队列(然后从另一个队列中读取),我知道队列名称,主机,队列管理器和通道。如何以javax.jms.Destination对象的形式获取对此队列的引用?

我发现的所有示例都涉及调用javax.jms.Session.createQueue(String),但由于此队列已经存在,我不想创建另一个,对吧?或者我误解了发生的事情?

如果重要,我使用的是com.ibm.msg.client.jms驱动程序。

谢谢!

2 个答案:

答案 0 :(得分:4)

通常,运行应用程序的容器将在其命名服务中绑定Queue。容器中的应用程序可以使用JNDI查找并使用它。

答案 1 :(得分:0)

要添加上面的erickson答案:

这是获取和浏览JMS队列的示例: (使用javax.jms-api 2.x)

<dependency>
    <groupId>javax.jms</groupId>
    <artifactId>javax.jms-api</artifactId>
    <version>2.0.1</version>
</dependency>
<dependency>
    <groupId>org.wildfly</groupId>
    <artifactId>wildfly-jms-client-bom</artifactId>
    <version>10.0.0.Final</version>
    <type>pom</type>
</dependency>

确保使用这些Maven依赖项:

{{1}}