如何检查jndi bind / unbind状态?

时间:2011-03-04 09:10:17

标签: java queue jms bind jndi

我正在寻找检查对象的绑定状态和适当的jndi名称的方法。

例如,我有一些ldap jms队列名称: “/TheRootContext/SomeSubContext/SOME.QUEUE.NAME:queue”

我需要检查是否存在适当的队列,并使用传递的名称进行绑定。

检查“绑定状态”的正确方法是什么?

我看到这样的算法:

  1. 执行jndi查找以确保提供的名称存在。

    Object obj = ctx.lookup(“/ TheRootContext / SomeSubContext / SOME.QUEUE.NAME: queue”);

  2. %我不知道下一步该做什么%,但建议检查一下:

    obj!= null&& obj instanceof javax.jms.Queue

  3. 我说错了吗?什么是正确的方法?

1 个答案:

答案 0 :(得分:1)

如果找不到对象,很可能lookup会在{1}中抛出NamingException。您需要捕获异常或尝试使用list方法检查对象是否存在。< / p>