我觉得这可能是一个非常简单的问题,但这是我第一次涉足JMS,所以我有点不确定。
我正在尝试写入现有的JMS队列(然后从另一个队列中读取),我知道队列名称,主机,队列管理器和通道。如何以javax.jms.Destination
对象的形式获取对此队列的引用?
我发现的所有示例都涉及调用javax.jms.Session.createQueue(String)
,但由于此队列已经存在,我不想创建另一个,对吧?或者我误解了发生的事情?
如果重要,我使用的是com.ibm.msg.client.jms驱动程序。
谢谢!
答案 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}}