簡體   English   中英

處理鎖等待超時的鈎子

[英]hook that handles Lock wait timeout exceeded

我正在編寫實際上在tomcat服務器上並使用連接到mysql服務器的spring框架的red5應用程序(事實上,它不是red5應用程序,而是Java ee應用程序。)

我使用spring框架連接到我的數據庫。

我注意到在某些查詢中,我收到以下錯誤消息

超過了鎖定等待超時; 嘗試重新啟動事務

我已經將服務器上的鎖定超時配置為10秒,因此必須在服務器上進行鎖定。 每當發生這種情況,我都想調試mysql服務器。 也許運行show processlist並獲取輸出或拋出正確的錯誤消息。

有沒有一種方法可以將某種掛鈎連接到我在spring框架內使用的JdbcTemplate來處理所有鎖定超時情況? 也許嘗試重試幾次,發送消息等等。

因此,我不想在項目的每個位置檢查SQLException並單獨處理它。 這是一個大項目,需要很長時間。 有沒有一種方法可以配置為在SQLException時進行配置? 我將能夠檢查哪種類型並進行處理,並允許重試,但是可以構建通用的東西,而不是在每個查詢上插入try catch和handle?

如果異常正在從處理程序中完全傳播出去,則可以在捕獲到異常時嘗試實現HandlerExceptionResolver並在那里進行一些查詢和日志記錄調試數據。

您還可以繼承JdbcTemplate的子類,並覆蓋所需的方法,使用try-catch包裝對超級實現的調用(必要時重新拋出),然后檢查異常並處理恢復/調試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM