1

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

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

4

2 回答 2

1

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

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

于 2012-11-17T21:12:19.383 回答
1

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

于 2012-11-18T04:40:52.197 回答