C3P0發生如下錯誤,正在尋求解決方法。
[hb] WARN [Timer-16] 2011-01-23 19:36:52 - com.mchange.v2.async.ThreadPoolAsynchronousRunner(608) - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@8e8f3a -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
[hb] WARN [Timer-16] 2011-01-23 19:37:23 - com.mchange.v2.async.ThreadPoolAsynchronousRunner(624) - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@8e8f3a -- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 3
Active Threads: 3
Active Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@188ab5 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@13aac9e (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@11af639 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
Pending Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@11b2f51
Pool thread stack traces:
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,main]
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:560)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,main]
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:560)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main]
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:560)
[hb] WARN [Timer-16] 2011-01-23 19:54:46 - com.mchange.v2.async.ThreadPoolAsynchronousRunner(608) - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@8e8f3a -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
[hb] WARN [Timer-16] 2011-01-23 19:55:05 - com.mchange.v2.async.ThreadPoolAsynchronousRunner(624) - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@8e8f3a -- APPARENT DEADLOCK!!! Complete Status:
Managed Threads: 3
Active Threads: 3
Active Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@6f55b4 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2)
com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@163bf85 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1)
com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask@1b2ead1 (com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0)
Pending Tasks:
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1564971
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1efbe4d
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@b6ebab
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@12a4190
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@136589c
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@f39eb4
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@384c52
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1ac9c4
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@b47667
com.mchange.v2.resourcepool.BasicResourcePool$AcquireTask@1c97911
Pool thread stack traces:
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#2,5,main]
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:560)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#1,5,main]
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:560)
Thread[com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0,5,main]
com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:560)
本人的問題解決是因爲:
由於數據源配置出錯,數據庫名字後面多了一個空格導致的。