HikariCP调试输出,这正常吗?

HikariCP debug output, is this normal?

我刚刚开始在休眠的 swing 应用程序中使用 HikariCP。我正在维护旧项目,所以那里发生了很多疯狂的事情。连接泄漏检测功能帮助我了解会话只会在特定事件时关闭,例如当用户单击 "Save" 按钮时。在其他情况下,存在泄漏。我认为以前的开发人员正在尝试实施 "long conversations" 工作单元,但他们错过了一些(大多数)案例。

所以我现在的目标是找到所有漏洞并修复它们。我打算使用 HikariCP 调试输出来帮助我做到这一点。我不知道 HikariCP 文档上是否有解释调试输出的 wiki 页面,但我想知道当应用程序空闲时这个输出是否正常,或者那里有一些奇怪的东西,我应该进一步调查:

2015-09-14 01:12:51 DEBUG HikariPool - After fill pool stats HikariPool-0 (total=10, inUse=3, avail=7, waiting=0)
2015-09-14 01:13:21 DEBUG HikariPool - Before cleanup pool stats HikariPool-0 (total=10, inUse=3, avail=7, waiting=0)
2015-09-14 01:13:21 DEBUG HikariPool - After cleanup pool stats HikariPool-0 (total=6, inUse=3, avail=3, waiting=0)
2015-09-14 01:13:21 DEBUG PoolUtilities - Closing connection com.mysql.jdbc.JDBC4Connection@4fb38272
2015-09-14 01:13:21 DEBUG PoolUtilities - Closing connection com.mysql.jdbc.JDBC4Connection@417465f4
2015-09-14 01:13:21 DEBUG PoolUtilities - Closing connection com.mysql.jdbc.JDBC4Connection@454be902
2015-09-14 01:13:21 DEBUG PoolUtilities - Closing connection com.mysql.jdbc.JDBC4Connection@496fcf

如果这是正常行为,我还想知道这 4 个连接是做什么用的,以及为什么它们会在此时关闭。谢谢

这都是正常输出。这些连接可能由于在 "idleTimeout" 期间处于空闲状态而关闭,或者因为它们达到了它们的生命周期 ("maxLifetime")。我确实建议更新到最新版本 (2.4.x),这通常会在调试日志消息中提供连接关闭的原因。