Как проверить статус jndi bind / unbind? - PullRequest
3 голосов
/ 04 марта 2011

Я ищу способ проверки состояния привязки объекта и соответствующего имени jndi.

Например, у меня есть имя очереди ldap jms: «/TheRootContext/SomeSubContext/SOME.QUEUE.NAME:queue"

Мне нужно проверить, что соответствующая очередь существует и связана с переданным именем.

Каким будет правильный способ проверки «статуса привязки»?

вижу такой алгоритм:

  1. Выполните поиск jndi, чтобы убедиться, что указанное имя существует.

    Объект obj = ctx.lookup ("/ TheRootContext / SomeSubContext / SOME.QUEUE.NAME: queue");

  2. % Я не знаю, что делать дальше% , но предлагаю что-то вроде проверки этого:

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

Я прав? Какой правильный путь?

1 Ответ

1 голос
/ 04 марта 2011

Скорее всего, если объект не найден lookup сгенерирует NamingException в 1. Вам нужно либо перехватить исключение, либо попробовать использовать метод list дляпроверьте, существует ли объект.

...