【发布时间】:2014-04-09 10:33:36
【问题描述】:
我正在编写一个 Java 类来浏览 Tibco EMS JMS 服务器并显示所有队列。我能够毫无问题地连接并浏览特定队列,但我正在寻找一种方法来返回所有队列的列表(如果可能的话,使用队列深度)。如果有要使用的特定 EMS API,我不会,所以我使用的是标准 JMS。
我已尝试使用以下代码进行反向 JNDI 查找,但失败了。
NamingEnumeration<?> queues = context.list("");
List<String> availableQueuesNames = new ArrayList<String>();
while (queues.hasMoreElements()) {
NameClassPair element = (NameClassPair) queues.nextElement();
availableQueuesNames.add(element.getName());
}
抛出此错误:
javax.naming.OperationNotSupportedException: Not supported
at com.tibco.tibjms.naming.TibjmsContext.list(TibjmsContext.java:1018)
at com.tibco.tibjms.naming.TibjmsContext.list(TibjmsContext.java:484)
at javax.naming.InitialContext.list(Unknown Source)
我做了一些挖掘,似乎 Tibco EMS 不支持像这样查看 JNDI。有没有其他方法可以做到这一点?
【问题讨论】: