Spring事務傳遞機制和實現原理

2021-10-13 22:22:34 字數 783 閱讀 7180

實現原理
事務的傳播行為可以由傳播屬性指定,spring定義了7種傳播行為。
propagation_required:如果存在乙個事務,則支援當前事務。如果沒有事務則開啟乙個新的事務。

propagation_supports:如果存在乙個事務,支援當前事務。如果沒有事務,則非事務的執行。但是對於事務同步的事務管理器,propagation_supports與不使用事務有少許不同。

propagation_mandatory:如果已經存在乙個事務,支援當前事務。如果沒有乙個活動的事務,則丟擲異常。

propagation_requires_new:總是開啟乙個新的事務。如果乙個事務已經存在,則將這個存在的事務掛起。

propagation_not_supported:總是非事務地執行,並掛起任何存在的事務。

propagation_never:總是非事務地執行,如果存在乙個活動事務,則丟擲異常。

propagation_nested:如果乙個活動的事務存在,則執行在乙個巢狀的事務中. 如果沒有活動事務, 則按transactiondefinition.propagation_required 屬性執行。

事務的隔離級別

Spring 事務機制詳解

spring事務機制主要包括宣告式事務和程式設計式事務,此處側重講解宣告式事務,程式設計式事務在實際開發中得不到廣泛使用,僅供學習參考。spring 宣告式事務讓我們從複雜的事務處理中得到解脫。使得我們再也無需要去處理獲得連線 關閉連線 事務提交和回滾等這些操作。再也無需要我們在與事務相關的方法中處...

Spring事務傳播機制

在 spring的 transactiondefinition介面中一共定義了7種事務傳播屬性 propagation required 支援當前事務,如果當前沒有事務,就新建乙個事務。這是最常見的選擇,也是spring事務傳播機制的預設值。propagation supports 支援當前事務,如...

spring事務傳播機制

1.required 必須有乙個事務的支援。如果沒有事務,則新建立乙個,如果有父事務,則使用 fetch 父級事務 2.requires new 必定會建立乙個事務。如果有父事務,則掛起 suspend 父事務,等子事務執行完畢,在恢復 resume 父事務 3.supports 可以有或者沒有事務...