Spring 事務傳播Propagation型別

2021-06-18 23:36:44 字數 615 閱讀 2512

spring在transactiondefinition介面中規定了7種型別的事務傳播行為,

它們規定了事務方法和事務方法發生巢狀呼叫時事務如何進行傳播:

事務傳播行為型別

事務傳播行為型別 說明

propagation_required

如果當前沒有事務,就新建乙個事務,如果已經存在乙個事務中,加入到這個事務中。這是最常見的選擇。

propagation_supports

支援當前事務,如果當前沒有事務,就以非事務方式執行。

propagation_mandatory

使用當前的事務,如果當前沒有事務,就丟擲異常。

propagation_requires_new

新建事務,如果當前存在事務,把當前事務掛起。

propagation_not_supported

以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。

propagation_never

以非事務方式執行,如果當前存在事務,則丟擲異常。

propagation_nested

如果當前存在事務,則在巢狀事務內執行。如果當前沒有事務,則執行與propagation_required類 似的操作。

spring事務傳播

採用程式設計式事務 1 getcurrentsession 與opensession 的區別?採用getcurrentsession 建立的session會繫結到當前執行緒中,而採用opensession 建立的session則不會 採用getcurrentsession 建立的session在co...

Spring事務傳播

required 預設 如果當前存在事務,就加入該事務,如果不存在,則建立乙個新的事務 supports 如果呼叫者有事務,則加入該事務,如果沒有,則以非事務方式執行 mandatory 如果存在事務,則加入該事務,如果不存在事務,則拋異常 requires new 重新建立乙個新的事務,如果當前存...

Spring事務傳播

package org.springframework.transaction import org.springframework.lang.nullable public inte ce transactiondefinition 事務的傳播面向的是乙個方法在另乙個方法中執行時對事務的處理方式。...