解决c3p0连接池异常问题

问题日志:
 
系统频繁的出现了如下日志:
An SQLException was provoked by the following failure: com.mchange.v2.resourcepool.ResourcePoolException: Attempted to use a closed or broken resource pool
错误日志的大概意思是:程序正在尝试获取一个已经关闭或者中断的连接资源池。
 
问题原因:
 
由于c3p0的属性 breakAfterAcquireFailure 的配置为true,设置为true后只要 pool向数据库请求连接存在一次失败后就会标记整个连接池为阻塞状态并是连接池处于关闭状态,这样的话,即使数据库 存在空闲的连接,也不会去获取连接,而是使整个连接池处于关闭状态,这正好符合了我们的上面的提出的日志抛出的异常。所以,目前从上述的分析,应该是该连接池的属性 breakAfterAcquireFailure 为true引起的
 
问题修改:
 
基于上述分析,昨晚把c3p0的连接池属性 breakAfterAcquireFailure设置为false,这样,就不会再请求连接失败后,标记整个连接池不可用;在连接高峰期一会在重试时间后,获取可用
数据库连接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值