首页 > 代码库 > C3P0 APPARENT DEADLOCK
C3P0 APPARENT DEADLOCK
一,c3p0执行一段时间后报错例如以下
W 07-26_00:58:27 ThreadPoolAsynchronousRunner.java 608 com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@70929ab6 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks! W 07-26_00:58:39 ThreadPoolAsynchronousRunner.java 608 com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@4496b93a -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
二,解决方法例如以下
1,更新c3p0版本号到0.9.2.1 该版本号优化了获取connection的规则
2,首先改动c3p0配置參数
<!--JDBC的标准參数。用以控制数据源内载入的PreparedStatements数量。但因为预缓存的statements 属于单个connection而不是整个连接池。所以设置这个參数须要考虑到多方面的因素。 假设maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0--> <property name="maxStatements" value="http://www.mamicode.com/0"/> <!--连接池用完时客户调用getConnection()后等待获取连接的时间。单位:毫秒。超时后会抛出--> <!--SQLEXCEPTION,假设设置0,则无限等待。Default:0--> <property name="checkoutTimeout" value="http://www.mamicode.com/100"/>
C3P0 APPARENT DEADLOCK
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。