Swing HikariCP调试输出,这正常吗?

Swing HikariCP调试输出,这正常吗?,swing,hibernate,hikaricp,Swing,Hibernate,Hikaricp,我刚刚开始在带有hibernate的swing应用程序中使用HikariCP。我在维护一个旧项目,所以里面有很多疯狂的事情。连接泄漏检测功能帮助我了解会话仅在某些事件时关闭,例如当用户单击“保存”按钮时。在其他情况下,存在泄漏。我认为以前的开发人员试图实现“长对话”工作单元,但他们错过了一些(大多数)案例 所以我现在的目标是找到所有的漏洞并修复它们。我计划使用HikariCP调试输出来帮助我做到这一点。我不知道HikariCP文档中是否有解释调试输出的wiki页面,但我想知道应用程序空闲时的输出

我刚刚开始在带有hibernate的swing应用程序中使用HikariCP。我在维护一个旧项目,所以里面有很多疯狂的事情。连接泄漏检测功能帮助我了解会话仅在某些事件时关闭,例如当用户单击“保存”按钮时。在其他情况下,存在泄漏。我认为以前的开发人员试图实现“长对话”工作单元,但他们错过了一些(大多数)案例

所以我现在的目标是找到所有的漏洞并修复它们。我计划使用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),这通常会在调试日志消息中提供连接关闭的原因。

感谢您的响应。我不明白的是,为什么总连接数是10,然后突然是6,然后4个“缺失”连接似乎正在关闭。我想这就是它的工作方式。此输出来自2.4.1版本。它似乎不是v2.4.1。PoolUties类不再存在。消息应该类似于“PoolElf-Closing connection com.mysql.jdbc”。JDBC4Connection@4fb38272:(连接传递了idleTimeout)”。其中“(connection passed idleTimeout)”可以是多条消息之一,包括“(connection executed or dead)”或“(connection reach maxlife)”。我使用的hibernate版本(4.3.11最终版-2015年8月发布)似乎与旧版本的HikariCP(2.3.3)有依赖关系。我将首先尝试升级hibernate。