2009-12-16 3 views
0

Я использую LifecycleListener в tomcat для инициализации некоторых объектов, требуемых контекстами на моем веб-сервере. В LifecycleListener я хотел бы иметь доступ к переменным окружения GlobalNamingResources, чтобы сохранить конфигурацию для сервера внутри файла server.xml. При попытке различных подходов, я получаю следующее сообщение об ошибке:Получение доступа к переменным среды jndi в Tomcat LifecycleListener

javax.naming.NameNotFoundException: Name java:comp is not bound in this Context 

Я предполагаю, что JNDI не инициализируется этой стадией процесса запуска сервера. Любые идеи о том, как справиться с этим?

ответ

1

JNDI настроен также в LifecycleListener, но NamingContextListener является последним. Я не думаю, что вы можете это изменить.

Решение заключается в инициализации приложения в ServletContextListener. Это всегда инициализируется после запуска всех LifecycleListeners.

Вы можете импортировать весь глобальный контекст JNDI в webapp, используя <ResourceLink>.

Смежные вопросы