昨晚監控出現的問題.字面意思上是"等待資源時檢測到死鎖"
項目是通過報文進行交互的,在批處理時,兩個或多個線程對同一張表進行update操作,最后爆出這個異常,出異常的線程回滾數據,其他的update會繼續commit提交事務.
目前徹底解決方法還在尋找中,后續補上
問題找到了:
兩個線程,對應兩個表的記錄操作
甲線程是:先A后B
乙線程是:先B后A
解決這個問題就只需要將順序統一就可以,
但是項目里牽扯出一個歷史問題,就是都是update操作,甲乙先后順序很重要,要是混亂了,狀態就會出現異常.
所以最后的解決方法是保證乙線程處理邏輯在甲線程后面.
最后方案,報文處理范圍時間提前隔離開,避免同一時間階段批量處理