一个连接池的问题,请高手指教~~~ Cannot get a connection, pool exhausted
一个连接池的问题,请高手指教~~~ Cannot get a connection, pool exhausted
异常有这么几个。。。
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool exhausted
at org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:103)
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
at org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:756)
根据异常,看出来是连接池耗尽。
这个有什么办法解决吗? 框架是s2sh + freemark.
用总监封装的 conn = DbHelper.getConnection(); 方法。jdbc操作的时候,一台机器开2-3个线程,0.1秒一次的频率访问的时候就出现连接池不够用。
但是用hibernate 里面的方法调用,一台机器开5个线程0.1秒一次的频率访问 暂时没有问题。
问题出在用jdbc操作sql的这些方法里面。
哪个高手有办法解决这个连接配置问题吗? 感激不尽!~~
[解决办法]
检查下代码,每次用完连接后有没有主动关闭
[解决办法]
你总监写的只有创建连接,没有关闭连接吗?
hibernate的话,它自己会进行维护~
就像2楼说的,是没有关闭连接引起的连接耗尽
[解决办法]