[英]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.