解决 APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tas


报错信息:
APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!

在网上查了一下,大部分网友分析是c3p0造成的,我根据网友给出的参数修改了一下我的项目的参数,改好后重新启动,不再报错,稳定性需要观察。原文内容如下:

最近部在生产环境的应用,系统重启后,跑了一天后就挂掉了,每天都是如此,之前一直都是挺稳定的,看了日志报出的错误是: 
WARN [Timer-8] ThreadPoolAsynchronousRunner.run(624) | com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@4acfc57a -- APPARENT DEADLOCK!!! Complete Status: 

    接下来就是: 

java.lang.OutOfMemoryError: GC overhead limit exceeded 

    这个问题,搞了好几天,后来发现是C3P0的问题,这里记录一下: 

    原c3p0参数如下: 

   <property name="maxPoolSize" value="10"/> 
   <property name="minPoolSize" value="3"/> 
   <property name="maxIdleTime" value="180" /> 


   修改后c3p0的参数如下: 

   <property name="maxPoolSize" value="30" /> 
   <property name="minPoolSize" value="10" /> 
   <property name="maxIdleTime" value="1800" /> 
   <property name="maxStatements" value="0" /> 
   <property name="initialPoolSize" value="10" /> 
   <property name="idleConnectionTestPeriod" value="1800" />


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM