gpt4 book ai didi

java - MySQL 在 Tomcat 中创建内存泄漏

转载 作者:行者123 更新时间:2023-11-28 22:33:31 29 4
gpt4 key购买 nike

我在 tomcat 中为 web-app 设置了一个 JDBCRealm,当我重新加载它时,我从 tomcat 得到了这个:
SEVERE:Web 应用程序注册了 JBDC 驱动程序 [com.mysql.jdbc.Driver],但在 Web 应用程序停止时无法注销它。为防止内存泄漏,已强制取消注册 JDBC 驱动程序。

我使用 tomcat 6.0.24,MySQL Connector 5.1.10,,,

有没有办法清理它,使 tomcat 不会显示 SEVERE 消息?

最佳答案

这不是泄漏,或者至少是无关紧要的泄漏。如果您有一个单例对象(JDBC 驱动程序)并且在应用程序完成之前它永远不会被释放,这有关系吗?
数据库将在给定的时间后关闭所有挂起的连接。

如果它真的困扰你,你可以通过这种方式重写 close 方法来修复它:

public class XBasicDataSource extends BasicDataSource {
@Override
public synchronized void close() throws SQLException {
DriverManager.deregisterDriver(DriverManager.getDriver(url));
super.close();
}
}

并使用您的 XBasicDataSource 。

关于java - MySQL 在 Tomcat 中创建内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2940988/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com