解決 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