我們已經有了一個運行在Websphere中的Java程序,並使用直接jdbc(不使用Hibernate或JPA)的Oracle數據庫。我們的客戶是做使用HP性能中心負載測試,和他的負荷有沒有辦法在Oracle異常上觸發jvm線程轉儲?
Caused by: java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource
下得到偶爾的甲骨文「僵局」的例外是有辦法,無論是在代碼或外部,迫使同一類線程轉儲你當你發現這個異常時得到你的jvm kill -3
?
+1;我記得當我發現那些珍聞時,小燈泡發生了。 –
'kill -3'以及每個線程的堆棧跟蹤都有關於每個線程已獲取和正在等待的鎖的信息。 'Thread.getAllStackTraces()'也有嗎? –
@ Paul Tomblin:我不這麼認爲。我們使用* findDeadlockedThreads *方法來查找死鎖(在支持此調用的JVM上)。 –