2009-12-16 75 views
0

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

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

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

回答

1

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

解决方案是在ServletContextListener中初始化应用程序。在所有LifecycleListeners启动后,始终进行初始化。

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