繁体   English   中英

连接超时后重新连接到mysql

[英]reconnecting to mysql after connection time-out

作为标准过程,MySql 连接在规定的不活动小时数(默认值:8)后丢失。 要在确定此类连接丢失后重新连接到 mysql 服务器,我只需执行connection = DriverManager.getConnection(url, user, password);

我没有使用连接池,因为这个技巧在之前的连接丢失相关帖子中没有提到,这让我想知道我的代码以后是否会产生任何副作用? (我这么说是因为在上面的实例之后测试这段代码,我发现 sessionlistner 在 session.invalidate() 调用之后没有被调用。)

根据您处理连接对象的方式,它可能会为丢失的连接对象造成小的客户端内存泄漏。 但可能这种影响很小,你永远看不到任何问题。

为了最小化这种风险,您可以在空闲时间每隔几分钟从连接中执行一些简单的操作,例如SELECT 1 ,这样您的连接仍然被认为是活动的(除非您的客户端完全关闭)。

如果您的连接断开,您将丢失临时表和会话设置。 听起来连接池在您的情况下很有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM