在Tomcat LifecycleListener中获取对jndi环境变量的访问权限

时间:2009-12-16 19:30:34

标签: tomcat

我在tomcat中使用LifecycleListener来初始化我的Web服务器中的上下文所需的一些对象。在LifecycleListener中,我希望能够访问GlobalNamingResources环境变量,以便在server.xml文件中保留服务器的配置。尝试各种方法时,我收到以下错误:

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

我假设jndi没有被服务器启动过程的这个阶段初始化。关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:1)

JNDI也在LifecycleListener中设置,但NamingContextListener是最后一个。我认为你不能改变它。

解决方案是在ServletContextListener中初始化应用程序。在所有LifecycleListener启动后,始终会初始化它。

您可以使用<ResourceLink>将所有全局JNDI上下文导入到webapp。