org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object异常原因
来源:互联网 发布:unity3d 5 新功能 编辑:程序博客网 时间:2024/04/30 06:39
在使用tomcat的JNDI配置数据库连接时,如果没有使用想proxool,池c3p0这样的连接池组件时,tomcat将默认使用tomcat容器内建的DHCP连接池组建。
我的jndi配置如下
<Resource
name="jdbc/NEWDB"
type="javax.sql.DataSource"
username="APDEV"
password="123456"
driverClassName="net.sourceforge.jtds.jdbcx.JtdsDataSource"
maxIdle="2"
maxWait="5000"
url="jdbc:jtds:sqlserver://172.18.127.129:1433/NEWDB"
maxActive="4"
/>
为了在开发阶段尽可能的暴露是否存在连接未完全释放的问题,将maxActive和maxIdle参数都设置的比较小。
有一种情况就是,如果某个页面存在大量的数据库查询操作(例如:此页面加载时将要建立4个connection),那么当我在此页面频繁的刷新页面时,将会抛出异常
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object
经过调查发现,抛出此异常的原因为连接池泄漏,也就是再也无法从连接池中获取有效的数据库连接。
频繁的刷新页面导致上一次获取的connection还没有得到有效释放,下一次的connection请求已经到达,如是刷新多次后导致池资源耗尽,即所谓的连接池泄漏。
而且,在此种情况下,最糟糕的是异常发生后导致整个服务向连接池发起connection请求都将一直抛出如上异常,无法恢复到正常状态。服务宕机,必须重启tomcat才能恢复,这真是个可怕的事情。
- org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object异常原因
- org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting
- org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting
- org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool er
- 数据库连接异常Cannot get a connection, pool error Timeout waiting for idle object
- Spring Hibernate4 连接几次后连接异常, Cannot get a connection, pool error Timeout waiting for idle object
- org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted和java.util.NoSuchElementException: Timeout wa
- Cannot get a connection, pool error Timeout waiting for idle object
- Cannot get a connection, pool error Timeout waiting for idle object
- Cannot get a connection, pool error Timeout waiting for idle object
- Cannot get a connection, pool error Timeout waiting for idle object解决方法
- Cannot get a connection, pool error Timeout waiting for idle object
- 如何解决Cannot get a connection, pool error Timeout waiting for idle object
- org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool ex
- tomcat 连接池泄露的问题:org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted, cause:java.util.NoSuchEleme
- 异常:Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'--解决方法
- org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory
- Oracle版本:12c 出现的异常:org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionF
- 如何在VC代码中监听ArcEngine的COM事件
- 有人离职了
- LINUX下安装部署传真服务器hylafax
- 多参数的积分问题。。。
- 用GDB调试程序
- org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot get a connection, pool error Timeout waiting for idle object异常原因
- JS倒计时集锦
- poj 2411(插头DP 简单题)
- android socket通信
- div顶端的空隙
- Android 中的Service
- gdb-7.1 移植到TI6446
- Eclipse开发PHP环境配置
- 使用xdebug调试PHP程序