我在 tomcat 中使用 LifecycleListener 来初始化我的网络服务器中上下文所需的一些对象。在 LifecycleListener 中,我想访问 GlobalNamingResources 环境变量,以将服务器的配置保存在 server.xml 文件中。尝试各种方法时出现以下错误:
javax.naming.NameNotFoundException: Name java:comp is not bound in this Context
我假设 jndi 没有在服务器启动过程的这个阶段初始化。关于如何解决这个问题的任何想法?
最佳答案
JNDI 也在 LifecycleListener 中设置,但 NamingContextListener 是最后一个。我不认为你可以改变这一点。
解决方案是在 ServletContextListener 中初始化应用程序。这总是在所有 LifecycleListener 启动后初始化。
您可以使用 <ResourceLink>
将所有全局 JNDI 上下文导入到 webapp .
关于tomcat - 在 Tomcat LifecycleListener 中获取对 jndi 环境变量的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1917070/