Liferay启动错误:ThreadPoolAsynchronousRunner$DeadlockDetector

原来的DB设置下能够正常启动,有一次遇到下面的错误感觉好奇怪。

17:57:45,805 WARN  Timer-0 [ThreadPoolAsynchronousRunner:608] com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@640ce0bb -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
17:57:45,809 WARN  Timer-0 [ThreadPoolAsynchronousRunner:624] com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@640ce0bb -- APPARENT DEADLOCK!!! Complete Status:
    Managed Threads: 3
    Active Threads: 3
    Active Tasks:
        com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@68487fb7 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
        com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@6fb8fcdd (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
        com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@59e14a78 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
    Pending Tasks:
        com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@55e03a61
        com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@7418e252


在网上查了半天,发现如下解决办法。

The warning message you saw does not necessarily mean deadlock. It may cause by a too small connect pool size or too few helper thread.

What configuration do you have for c3p0?

Please try to increase the pool size and helper thread number, then try again.
jdbc.default.maxPoolSize=100
jdbc.default.minPoolSize=10
jdbc.default.numHelperThreads=10

增加maxPoolSize就可以了。以前为什么是好的还是没有搞清楚。


其实这个错误最常见还是ext配置的文件的编码出现问题。也就是读取不了正常的数据库配置信息的时候,会出现这种异常。

还有一种可能就是超过数据库的最大连接数,比如程序的代码里面没有关闭连接等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值