连接超时后重新连接到mysql

时间:2012-11-17 18:37:47

标签: mysql jdbc connection-timeout

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

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

2 个答案:

答案 0 :(得分:1)

根据您处理连接对象的方式,它可以为丢失的连接对象创建小的客户端内存泄漏。但可能这种影响会很小,以至于你永远不会发现任何问题。

为了最大限度地降低这种风险,您可以在空闲时间每隔几分钟从连接中做一些简单的事情SELECT 1,这样您的连接仍然被认为是活动的(除非您的客户完全死掉)。

答案 1 :(得分:1)

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