【发布时间】:2015-09-13 22:19:25
【问题描述】:
我刚刚开始在带有休眠功能的 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 个连接的用途,以及它们为什么会在此时关闭。谢谢。
【问题讨论】: