第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

從 beforeCompletion TransactionSynchroni 回滾事務(wù)?

從 beforeCompletion TransactionSynchroni 回滾事務(wù)?

精慕HU 2023-08-04 14:47:07
我正在使用 SpringTransactionSynchronizationManager注冊(cè)回調(diào),beforeCompletion如下所示:@Transactionalpublic void doTransaction() {    //do DB stuff    updateDB();    //register a synchronization    TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {        @Override        public void beforeCompletion() {            if(!isCallApiSuccessful()) {                //rollback the transaction            }        }    });}問題是如何從回調(diào)中回滾事務(wù)beforeCompletion?拋出異常會(huì)起作用嗎?
查看完整描述

1 回答

?
忽然笑

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊

拋出異常會(huì)起作用嗎?

不,它不會(huì)起作用,因?yàn)?code>beforeCompletion()它是為了清理資源。
根據(jù)文檔,拋出異常的效果如下:

投擲:

java.lang.RuntimeException- 如果出現(xiàn)錯(cuò)誤;將被記錄但不會(huì)傳播(注意:不要在這里拋出 TransactionException 子類?。?/p>

如果您想阻止提交,您可能應(yīng)該實(shí)現(xiàn)void beforeCommit(boolean readOnly)這一點(diǎn)并在其中拋出一個(gè)。 根據(jù)文檔,拋出異常的效果如下: RuntimeException

投擲:

java.lang.RuntimeException- 如果出現(xiàn)錯(cuò)誤;將傳播到調(diào)用者(注意:不要在這里拋出 TransactionException 子類!)


查看完整回答
反對(duì) 回復(fù) 2023-08-04
  • 1 回答
  • 0 關(guān)注
  • 127 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)