HikariCP调试输出,这是正常的吗?

时间:2015-09-13 22:19:25

标签: swing hibernate hikaricp

我刚开始在使用hibernate的swing应用程序中使用HikariCP。我维护和旧项目,所以那里有很多疯狂的东西。连接泄漏检测功能帮助我了解会话仅关闭某些事件,例如当用户点击" Save"按钮。在其他情况下,有泄漏。我以为以前的开发者都在尝试实施长时间的对话"工作单位,但他们错过了一些(大多数)案件。

所以我现在的目标是找到所有泄漏并修复它们。我计划使用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个连接是什么,以及为什么它们在那时关闭。感谢。

1 个答案:

答案 0 :(得分:2)

这都是正常输出。这些连接很可能由于空闲时间而关闭,因为空闲时间超过"空闲时间"期间,或因为他们达到了他们的一生(" maxLifetime")。我建议更新到最新版本(2.4.x),这通常会提供调试日志消息中关闭连接的原因。