java - 如何防止 Tomcat6 在 WEB-INF/lib 中预加载 JDBC 驱动程序?

标签 java tomcat jdbc

我的 Web 应用程序的 WEB-INF/lib 中有许多 JDBC 驱动程序 jar 文件 - 例如甲骨文和SQL服务器。在 Tomcat7 中,如果 webapp 只使用 oracle,则 SQL-Server 驱动程序不会被注册,但在 Tomcat6 中它会注册(我可以从 ServletContextListener 中的 contextDestroyed() 中看到这一点,它注销了由该类加载器加载的驱动程序) .

Tomcat6 是否以某种方式从 WEB-INF/lib 中的 jars 中预加载类?如果是这样,是否可以禁用它?

(我知道这些 jar 在共享库中会更好,但这是另一个问题...)

最佳答案

永远不要将驱动程序放在 webapp 类路径中。始终将其放入服务器的类路径中。

然后在您的context.xml 中声明一个DataSource,然后使用this 释放资源.

关于java - 如何防止 Tomcat6 在 WEB-INF/lib 中预加载 JDBC 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20399023/

相关文章:

java - Java中旅行商问题的蛮力算法

Java block 键盘按下

java - JEE6 - CDI - 执行时的 DI

tomcat - Tomcat 6 中的 sun.net.www.http.HttpClient 内存泄漏

java - Postgres-错误 : prepared statement "S_1" already exists

java - 使用 Xmx 操作 JVM 的内存限制

Java/Spring 应用程序 : Tomcat suddenly not able to deploy anymore

带有 H2 控制台的 spring-boot-legacy

java - 使用 JAVA 将 Arraylist<Arraylist<String>> 传递给 MSSQL 存储过程?

java - JDBC 连接在执行 rs.next() 时挂起