c3p0引起的死锁如何解决
程序员文章站
2022-04-14 14:25:55
...
代码测试本地无误,于是放到外网服务器测试,出现了这样的错误
com.mchange.v2.async.ThreadPoolAsynchronousRunner -466510 78 [Timer-18] WARN com.mchange.v2.async.ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@1c17bd4 -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
看到这个头都大了,怎么办呢?为什么出现这样的情况?
我的答案是:
因为数据库的连接数是有限的,每次应用启动C3p0都会占用数据库的连接来填充C3p0的连接池,而当数据库的资源被占光时就会因为无法获得共享资源而报死锁。
更改对应配置文件里面的最大连接数和初始化连接数:
未改前:
<property name="maxPoolSize" value="100" /> <property name="initialPoolSize" value="2" />
修改之后:
<property name="maxPoolSize" value="1" /> <property name="initialPoolSize" value="1" />
重新部署运行,ok!
以上就是c3p0引起的死锁如何解决 的详细内容,更多请关注其它相关文章!
上一篇: 阿里云服务器上Mysql5.7安装
下一篇: NODE.JS跨域问题的完美解决方案
推荐阅读
-
哪些原因会引起电脑蓝屏?该如何解决
-
如何快速解决计算机没有音频设备的问题
-
如何解决Ghost显示A:GHOSTERR.TXT或CRC32错误的问题
-
解决 .NET Core 中 GetHostAddressesAsync 引起的 EnyimMemcached 死锁问题
-
APP运营中如何解决用户自主传播分享的问题?
-
苹果浏览器safari显示不安全如何解决(目前最安全的解决法)
-
T-SQL篇如何防止SQL注入的解决方法
-
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
-
如何解决公司网站首页被恶意跳转的安全问题
-
如何升级到Windows10系统?升级win10系统遇到的问题解决汇总(含视频体验)