tomcat - 在 Tomcat LifecycleListener 中获取对 jndi 环境变量的访问

标签 tomcat

我在 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/

相关文章:

java - 什么是 taglib uri 搜索序列?

php - 如何在 tomcat 7 服务器 ( CentOS ) 上运行 php

tomcat - 在 Hadoop 中实现作业结束通知监听器

java - Tomcat 错误 : Embedded H2 DB Read-Only

spring - 是否可以在 Spring、Eclipselink 和 Tomcat 环境中使用@Transational?

tomcat - 在 Eclipse 中导入后无法运行 Web 应用程序

oracle - Saiku 找不到用于 oracle 连接的 JDBC 驱动程序

java - Apache Httpd 和 Eclipse Tomcat 之间的连接(Windows 7)

java - 如何在 apache web 服务器中配置 tomcat java 应用程序?

java - [几乎] 不会减慢分析代码的 Java 分析器