本文摘自PHP中文网,作者一个新手,侵删。
代码测试本地无误,于是放到外网服务器测试,出现了这样的错误1 2 | com.mchange.v2.async.ThreadPoolAsynchronousRunner -466510
78 [Timer-18] WARN com.mchange.v2.async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1c17bd4
|
看到这个头都大了,怎么办呢?为什么出现这样的情况?
我的答案是:
因为数据库的连接数是有限的,每次应用启动C3p0都会占用数据库的连接来填充C3p0的连接池,而当数据库的资源被占光时就会因为无法获得共享资源而报死锁。
更改对应配置文件里面的最大连接数和初始化连接数:
未改前:
1 2 | <property name = "maxPoolSize" value= "100" />
<property name = "initialPoolSize" value= "2" />
|
修改之后:
1 2 | <property name = "maxPoolSize" value= "1" />
<property name = "initialPoolSize" value= "1" />
|
重新部署运行,ok!
以上就是c3p0引起的死锁如何解决 的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
mysql与navicat建立连接出现1251错误怎么解决
mysql创建函数出错如何解决
mysql初次不能登录解决方法
mysql索引不生效的解决方法
navicat 10061错误怎么解决
mysql数据库系统特权如何查看?
sql命令查询出现乱码的解决方法详解
mysql无法启动的解决办法示例分享
mysql登录警告问题的解决方法
关于mysql时常闪退的问题解决办法分享(图)
更多相关阅读请进入《c3p0》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » c3p0引起的死锁如何解决