最近连接池老爆满,但代码那么多,很多人写的 怎么能快速跟到哪里的连接没关掉。要是一个类一个类的查 就像大海捞针一样。用的框架是javaBean+servlet

解决方案 »

  1.   

    在连接池获取的类里写个跟踪日志,输出调用者,执行的SQL,然后分析日志啦。
      

  2.   

    4L是最标准的方法,尽管不节省时间,但如果没有别的办法,剩下的除了DEBUG就是日志跟踪了
      

  3.   

    如果不是线上的系统,干脆将MaxActive设为1,将问题代码快速暴露出来。
      

  4.   

    连接池耗尽,那先检查一下代码,看看代码中有没有把数据库连接对象 Connection, Statement, ResultSet 设为成员变量!照这情形看来,八成是弄成成员变量了,还有一成是没有正确关闭,另外其他原因,比如在事务当中执行了相当长的 IO 操作(比如调用外部服务、文件操作等)导致一个连接占用很长时间,以致池中连接耗尽。