Tibco EMS JMS サーバーをブラウズし、すべてのキューを表示する Java クラスを作成しています。問題なく接続でき、特定のキューを参照できますが、すべてのキューのリストを返す方法を探しています (可能であればキューの深さとともに)。使用する特定の 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 の調査をサポートしていないようです。これを達成する別の方法はありますか?