相关疑难解决方法(0)

为防止内存泄漏,JDBC驱动程序已被强制取消注册

我运行我的Web应用程序时收到此消息.它运行正常,但我在关机期间收到此消息.

严重:Web应用程序注册了JBDC驱动程序[oracle.jdbc.driver.OracleDriver],但在Web应用程序停止时无法注销它.为防止内存泄漏,JDBC驱动程序已被强制取消注册.

任何帮助赞赏.

java tomcat jdbc

316
推荐指数
9
解决办法
34万
查看次数

tomcat 6中特定于上下文的JNDI参数问题

在Tomcat 6上部署两个或更多应用程序时,我无法使用JNDI.请考虑以下情形:我有2个webapps,其中每个web.xml包含一个JNDI参数.

web.xml webapp A:

<env-entry>
<env-entry-name>testEntry</env-entry-name>
<env-entry-value>value A</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

web.xml webapp B:

<env-entry>
<env-entry-name>testEntry</env-entry-name>
<env-entry-value>value B</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>

当我部署两个webapps并查找testEntry的值时,两个 webapps都返回值A.似乎只有第一个加载的web.xml中的JNDI参数可用.根据我对JNDI的理解,每个web.xml都包含webapp特定的JNDI值,这些值仅在各自的上下文中可用.我在做什么/想错了?

这导致了我的下一个问题.如何定义所有上下文中可用的全局JNDI参数?在tomcat文档中,我读过你应该使用{CATALINA_HOME} /conf/context.xml来达到这个目的.但环境条目在上下文中不可用.将它们放在{CATALINA_HOME} /conf/web.xml中使它们可以全局访问,但我怀疑这是正确的方法.

这是我的Java代码来查找它们:

Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
String value = (String)envCtx.lookup("testEntry");

任何帮助都会受到欢迎,因为关于JNDI的好文档是伤痕.

tomcat jndi

9
推荐指数
1
解决办法
3996
查看次数

标签 统计

tomcat ×2

java ×1

jdbc ×1

jndi ×1