今天系統中突然出現了下面這個異常:
org.springframework.transaction.unexpectedrollbackexception: transaction rolled back because it has been marked as rollback-only。
然後跟蹤到**裡面去看了下,偽**大致如下:
begin transaction;
for(……)
commit;
end;
dosomething()偽**:
trycatch()
分析原因:
這個是乙個事務巢狀事務的例子,在spring裡面我們配置了
事務的傳播機
制是required
,所以這兩個事務最終會合併成乙個事務。程式中dosomething()中由於某某原因導致丟擲異常(或者明確將該事務設定為了rollbackonly),但是由於其內部已經捕獲了這個異常,所以不會影響外面for迴圈的繼續執行,當外面的for迴圈繼續執行完 且準備提交(commit)這個事務時,發現之前這個事務的狀態位已經被設定為了
rollbackonly,此時spring就會丟擲乙個
ransaction rolled back because it has been marked as rollback-only。
解決方法:我是把主方法中的事物去掉,呼叫方法的事物不變,形成區域性的事物回歸。
線上出現bug
測試申請使用者交付押金 開啟支付頁面 使用者登出或清除cookies 支付成功後,支付狀態未改變的問題 1.發出支付申請後,使用者退出登入然後成功支付,支付狀態是否顯示成功 2.發出支付申請後,使用者清除cookie後成功支付,支付狀態是否顯示成功 正常case 1.發出支付申請後,使用者成功支付,...
專案上線出現bug
一.第一步 評估bug的影響範圍 1 分析bug影響的使用者數量 檢查bug是否業務核心環節的功能問題,是的話則影響的使用者量比較多 2 分析bug影響的嚴重程度 檢查bug是否涉及到使用者的個人資訊洩露 資金財產損失等比較敏感的功能,涉及的話則 認為bug比較嚴重 對於bug影響範圍的評估,必須盡...
小bug小坑小總結
1.小程式canvas那些原生元件的層級預設是最高的,而且不能更改,平常的div彈框什麼的上面就會顯示出原生元件的內容,解決辦法 cover view,cover image,button share data item item 分享 用這個data item 後的名字可以隨意起,後面的值如果是字...