每天多學一點點~
話不多說,這就開始吧…
3. propagation.requires_new
4.結語
年底太忙,沒什麼時間研究細節。近兒得空,看了看之前寫的**,細想之下,發現很多事務其實沒生效。。。細思極恐,在這裡記錄一下,方便日後複習。
@transactional(propagation = propagation.required)
public void a()
public void b()
原因: spring的事務實現是使用了**類來實現,而這裡的this.methoda(),並沒有走testserviceimpl的**類,所以事務會失效。public void a()
@transactional(propagation = propagation.required)
public void b()
如果想要b 的事務生效,則:
@service
public class testserviceimpl
@transactional(propagation = propagation.required)
public void b()
}
這個上面已經解釋過了,不再贅述。@service
public class testserviceimpl
@transactional(propagation = propagation.required)
public void b()
}
總結:外層事務不會影響內部事務的提交/回滾@transactional
public void a()
@transactional(propagation = propagation.requires_new)
public void b()
總結:內部事務的異常,會影響外部事務的回滾@transactional
public void a()
@transactional(propagation = propagation.requires_new)
public void b()
世上無難事,只怕有心人,每天積累一點點,fighting!!!
spring事務失效
遇到的問題 前端時間我在做乙個父子事務巢狀的時候,出現了子事務失效。在同類的子事務上加事務註解一直都不能建立事務,後來發現是子事務失效了。下面總結一下事務失效情況和解決經驗 事務失效有如下幾種情況 沒有transaction註解 事務沒有丟擲runtimeexception異常到方法上 方法內丟擲r...
Spring 事務失效
1.丟擲檢查異常導致事務不能正確回滾 service public class service1 2.業務方法內自己 try catch 異常導致事務不能正確回滾 service public class service2 catch filenotfoundexception e 解法2 手動設定...
Spring事務失效原因詳解
spring事務依賴的是資料庫的事務,在開發中如果沒有處理好,可能會遇到事務失效的情況,本文就盤點spring事務會失效的一些情況並給出解決方案。spring事務分為宣告式事務和程式設計時事務兩種。看下宣告式事務。使用 transactional做宣告式事務的一些說明 使用 transactiona...