问题描述
最近连接池老爆满,但代码那么多,很多人写的怎么能快速跟到哪里的连接没关掉。要是一个类一个类的查就像大海捞针一样。用的框架是javaBean+servlet
解决方案
解决方案二:
得看你如何获得连接的了...
解决方案三:
查获取连接的方法调用的地方有没有关闭连接,我就是这样干的,累死了
解决方案四:
不知道有什么更好的办法,不过这个办法虽然累,但是很有效
解决方案五:
在连接池获取的类里写个跟踪日志,输出调用者,执行的SQL,然后分析日志啦。
解决方案六:
4L是最标准的方法,尽管不节省时间,但如果没有别的办法,剩下的除了DEBUG就是日志跟踪了
解决方案七:
如果不是线上的系统,干脆将MaxActive设为1,将问题代码快速暴露出来。
解决方案八:
连接池耗尽,那先检查一下代码,看看代码中有没有把数据库连接对象Connection,Statement,ResultSet设为成员变量!照这情形看来,八成是弄成成员变量了,还有一成是没有正确关闭,另外其他原因,比如在事务当中执行了相当长的IO操作(比如调用外部服务、文件操作等)导致一个连接占用很长时间,以致池中连接耗尽。
时间: 2024-07-29 16:17:48