Java 带有hikaricp的警告消息

Java 带有hikaricp的警告消息,java,database-connection,connection-pooling,hikaricp,Java,Database Connection,Connection Pooling,Hikaricp,我正在使用hikaricp作为我的数据库连接池。当我完成SQL语句时,我正在关闭连接,方法是对连接调用close,我相信您应该将连接代理返回到池中。但是,我看到下面的警告(不是错误)消息,我不得不怀疑这是否是一个需要解决的问题,因为我没有正确清理连接资源。我使用的不是try-with-resources,而是try-catch-finally(我在finally中关闭连接&我意识到在某些情况下,finally实际上可能不会被调用,但在我的情况下它正在被调用)。有什么想法吗 2014-09-15

我正在使用hikaricp作为我的数据库连接池。当我完成SQL语句时,我正在关闭连接,方法是对连接调用close,我相信您应该将连接代理返回到池中。但是,我看到下面的警告(不是错误)消息,我不得不怀疑这是否是一个需要解决的问题,因为我没有正确清理连接资源。我使用的不是try-with-resources,而是try-catch-finally(我在finally中关闭连接&我意识到在某些情况下,finally实际上可能不会被调用,但在我的情况下它正在被调用)。有什么想法吗

2014-09-15 13:59:26,083 WARN c.z.h.p.LeakTask [Hikari Housekeeping Timer (pool wmHikariCp)] Connection leak detection triggered, stack trace follows java.lang.Exception
    at com.abc.test.DBConnPool.getConnection(DBConnPool.java:71)
    at com.abc.test.TestProj.callDB(TestApp.java:30)
    at com.abc.test.TestProj.main(TestApp.java:81)

可能只是使用连接的时间长于泄漏检测超时时间。泄漏检测是连接离开池多长时间的阈值。尝试将阈值增加到更长的超时时间。

能否确认是否确实正在释放回池的连接?除了提高Brett提到的阈值外,您是否可以使用try with资源:

以及resultset(因为某些驱动程序/数据库在清理连接时可能不会清理resultset,尽管不确定这是否对新的驱动程序/数据库仍然有效,但我不确定您使用的是什么):


希望有帮助。

谢谢分享。可以肯定的是,我正在使用try-with-resources进行测试。我将在另一个rest运行中增加阈值。由于这两个原因,我注意到了一个问题,稍后我这边出现了一个异常,这可能是导致问题的原因(尚未确认),但在使用try with resources时,我再也看不到泄漏语句了
try (Connection conn = DBConnectionPool.getConnection(); 
        PreparedStatement ps = conn.prepareStatement(preparedQuery);) {
    try (ResultSet rs = ps.executeQuery();) {