Transaction rolled back because it has been marked as rollback-only
在使用事務(wù)的時候,代碼里會爆出上面的錯誤
什么原因呢?
方法A調(diào)用了方法B。
且方法A和方法B上都啟動了事務(wù)。(都標(biāo)注了@Transactional)
方法B拋出了異常。
方法A收到B的異常后直接吃掉了,沒有繼續(xù)拋出。
問題就出現(xiàn)在異常上
在上面的默認(rèn)情況下,Spring 是讓方法AB 公用一個事務(wù)。
但是Spring 已經(jīng)感知到了方法B的異常,然后在方法A里面,代碼邏輯吃掉了異常,當(dāng)A結(jié)束的時候,Spring并沒有感知到A的異常,就準(zhǔn)備提交事務(wù)。這就沖突了。
從A上說方法一切正常,可以提交!
從B上說已經(jīng)拋出了異常,得回滾!
知道了原因,解決這個異常那就簡單了
那還有一個問題,如果就按照最原始的寫法,拋出了Transaction rolled back because it has been marked as rollback-only這個異常,那整個事務(wù)到底是什么情況呢?是回滾了,還是正常提交了?
答案是回滾了!
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)站名稱:關(guān)于事務(wù)的一點(diǎn)思考-創(chuàng)新互聯(lián)
URL鏈接:http://jinyejixie.com/article0/dsiooo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、App設(shè)計、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、虛擬主機(jī)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容