mysql报错 应用程序_tomcat关闭的时候报错:web应用程序似乎启动了一个名为[mysql-cj-abandoned-connection-cleanup]的线程,但未停止,可能会造成内存泄漏...

可以做个监听器:@WebListener

public class ContextFinalizer implements ServletContextListener {

private static final Logger logger = LoggerFactory.getLogger(ContextFinalizer.class);

public void contextInitialized(ServletContextEvent sce) {

}

public void contextDestroyed(ServletContextEvent sce) {

Enumeration drivers = DriverManager.getDrivers();

Driver d = null;

while (drivers.hasMoreElements()) {

try {

d = drivers.nextElement();

DriverManager.deregisterDriver(d);

logger.warn(String.format("Driver %s deregistered", d));

} catch (SQLException ex) {

logger.warn(String.format("Error deregistering driver %s", d), ex);

}

}

AbandonedConnectionCleanupThread.uncheckedShutdown();

}

}

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: -plugin是什么? A:mysql-cj-abandoned-connection-cleanup-plugin是一个MySQL插件,它用于自动关闭已经被应用程序丢弃的连接。它可以帮助管理员减少数据库服务器上的资源消耗和性能问题。该插件通过一个“拦截器”模式来捕捉被应用程序丢弃的连接,并在事先定义的时间间隔后关闭这些连接。 ### 回答2: mysql-cj-abandoned-connection-cleanup一个MySQL Connector/J库中的参数,用于在连接池中清理已被废弃的连接。 MySQL Connector/J是一个用于Java程序连接MySQL数据库的驱动程序。在使用连接池时,连接池提供一组已经建立好的数据库连接,供Java程序使用,以提高数据库连接的效率和性能。 然而,在某些情况下,可能出现一些连接没有被正确关闭的情况,这些连接就被视为废弃的连接。废弃的连接可能导致连接池中的连接资源被占用,无法再被其他程序使用,从而浪费了系统资源。 为了解决这一问题,MySQL Connector/J引入了mysql-cj-abandoned-connection-cleanup参数。当设置为true时,默认为false,此参数开启废弃连接的自动清理功能。一旦开启,连接池定期检查已分配的连接是否已经被释放,如果发现连接已经被废弃,则将其关闭并从连接池中移除。 使用mysql-cj-abandoned-connection-cleanup参数可以有效地解决废弃连接导致的问题,提高连接池的使用效率和资源利用率。但需要注意的是,设置过于频繁的检查时间可能对系统性能产生一定的影响,因此在设置时需要根据具体的场景和需求进行权衡和调整。 总之,mysql-cj-abandoned-connection-cleanup参数在MySQL Connector/J库中扮演着清理废弃连接的重要角色,通过设置此参数可以自动检测和清理掉废弃的连接,提高连接池的性能和资源利用率。 ### 回答3: mysql-cj-abandoned-connection-cleanupMySQL Connector/J JDBC驱动程序中的一个功能,用于清理连接池中被废弃的连接。 在使用连接池管理数据库连接时,有时候发生连接被废弃但被正确关闭的情况。这可能是因为应用程序在使用连接后忘记关闭连接,或者因为网络或服务器等原因导致连接失效。如果这些废弃的连接不得及时清理,占用服务器资源,导致性能下降甚至崩溃。 为了解决这个问题,MySQL Connector/J JDBC驱动程序引入了mysql-cj-abandoned-connection-cleanup功能。当启用这个功能时,MySQL Connector/J定期检查连接池中的连接,并识别那些被废弃的连接。被认定为废弃的连接是指从连接被创建后一段时间内被使用的连接。 一旦识别出被废弃的连接,mysql-cj-abandoned-connection-cleanup功能自动将这些连接关闭,以释放服务器资源。这样可以保持连接池的健康状态,提高应用程序的性能和可靠性。 为了启用mysql-cj-abandoned-connection-cleanup功能,可以在应用程序的JDBC连接字符串中添加如下参数:abandonedConnectionCleanup=true。启用该功能后,可以通过设置一些其他参数来调整清理废弃连接的策略,如连接被认为废弃的超时时间和清理频率等。 总之,mysql-cj-abandoned-connection-cleanup功能是MySQL Connector/J JDBC驱动程序中的一个重要功能,用于自动清理连接池中被废弃的连接,以提高应用程序的性能和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值