数据库连接泄露 Connection Leak Causes 'pool error Timeout waiting for idle object'

leak-main_Full 在使用DBCP数据库连接池时,如果遇到Exception “pool error Timeout waiting for idle object”,这意味着数据库连接泄露。解决这个问题的方法很简单,就是任何连接使用后,必须关闭它。示例代码:

NamedPooledTypedDataSource ds = ...;
Connection conn = null;
try {
  // do stuff with conn
  ...
}finally {
  JDBCUtilities.close(slaveConn);
}

在研发过程中尽量设置DBCP的max-active及max-idle为较小的值(如10,5),这样可以及早发现问题解决问题。