Я пишу класс Java для просмотра JMS-сервера Tibco EMS и отображения всех очередей. Я могу без проблем подключаться и просматривать определенные очереди, но я ищу способ вернуть список всех очередей (если возможно, с глубиной очереди). Я не согласен, если есть специальный API EMS, поэтому я использую стандартную 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. Есть ли другой способ сделать это?