【发布时间】:2014-12-03 07:35:52
【问题描述】:
如何使用 Java API 检查 JMS 服务器上是否存在队列?我现在不想向队列发送或接收任何数据,只需验证队列是否存在。此外,队列可能为空。
这是我的代码示例。为简单起见,我删除了错误处理。
Connection connection = null;
Session session = null;
connection = factory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//I was hoping this next line would throw an exception if the queue does not exist
Queue queue = session.createQueue(queueName);
我的 JMS 服务器是 TIBCO EMS。我希望有一个适用于版本 5-7 的解决方案。
解决方案
我遵循了已接受答案中的建议,但创建了一个浏览器。以下行根据需要引发了异常:
QueueBrowser browser = session.createBrowser(queue);
【问题讨论】:
-
JMS 没有定义管理接口或模型;因此,这个问题的答案取决于您的 JMS 提供商。你用的是哪一个?