我有一個部署在JBoss 6x中的Java/Java EE Web應用程序。死鎖 - 在Java EE Web應用程序中阻塞的線程
有時候應用程序會停下來,看起來像是死鎖狀態,很多線程處於BLOCKED狀態,正如在最後粘貼的Thread Dump片段中看到的那樣。
問題:
1.什麼是交易收割者工作者 - 它鎖定了哪些資源?
2.這是JTA問題嗎?是什麼造成的。我如何進行調查,進一步解決這個問題?
3.幾乎有10個線程處於BLOCKED狀態,具有類似的堆棧跟蹤。這個問題可能是由db端出錯導致的
任何幫助非常感謝。
"ajp-0.0.0.0-8809-19" - Thread [email protected]
java.lang.Thread.State: BLOCKED
at com.arjuna.ats.arjuna.coordinator.BasicAction.removeChildThread(BasicAction.java:650)
- waiting to lock <7c0d6> (a com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction) owned by "Transaction Reaper Worker 44" [email protected]
at com.arjuna.ats.internal.arjuna.thread.ThreadActionData.purgeActions(ThreadActionData.java:248
....
....
Locked ownable synchronizers:
- locked <ed3045> (a java.util.concurrent.locks.ReentrantLock$FairSync)
"Transaction Reaper Worker 44" - Thread [email protected]
java.lang.Thread.State: WAITING
at sun.misc.Unsafe.park(Native Method)
- waiting to lock <ed3045> (a java.util.concurrent.locks.ReentrantLock$FairSync) owned by "ajp-0.0.0.0-8809-19" [email protected]
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
.....
at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:2902)
at com.arjuna.ats.arjuna.coordinator.BasicAction.doAbort(BasicAction.java:2881)
at com.arjuna.ats.arjuna.coordinator.BasicAction.Abort(BasicAction.java:1602)
- locked <7c0d6> (a com.arjuna.ats.internal.jta.transaction.arjunacore.AtomicAction)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.cancel(TwoPhaseCoordinator.java:119)
at com.arjuna.ats.arjuna.AtomicAction.cancel(AtomicAction.java:212)
at com.arjuna.ats.arjuna.coordinator.TransactionReaper.doCancellations(TransactionReaper.java:367)
at com.arjuna.ats.internal.arjuna.coordinator.ReaperWorkerThread.run(ReaperWorkerThread.java:79)
你使用的是庫的版本?這可能已經被修復了 – Eugene 2013-04-23 07:29:45
Eugene>哪個Libarary? – Jasper 2013-04-23 07:56:09
jbossjta。看看yom pom.xml。你有嗎? – Eugene 2013-04-23 07:59:34