Spring7種事務傳播行為型別

2021-06-08 00:31:57 字數 645 閱讀 4834

事務傳播行為種類

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

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

事務傳播行為型別

事務傳播行為型別

說明propagation_required

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

propagation_supports

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

propagation_mandatory

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

propagation_requires_new

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

propagation_not_supported

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

propagation_never

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

propagation_nested

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

Spring的7種事務傳播行為

事務傳播行為指的是乙個事務方法被另乙個事務方法呼叫時,這個事務方法應該如何進行。比如說,有乙個a方法,裡面呼叫了b方法,當執行到b方法時,是應該在當前事務裡執行,還是重新開啟乙個事務來執行,這是由b方法的事務傳播行為決定的 propagation required 表明當前方法一定要在事務中執行,如...

Spring事務的7種傳播行為

事務傳播行為指的就是當事務方法被另乙個事務方法呼叫時,這個事務方法應該如何進行。例如 methoda事務方法呼叫methodb事務方法時,methodb是繼續在呼叫者methoda的事務中執行呢,還是為自己開啟乙個新事務執行,這就是由methodb的事務傳播行為決定的。以下舉例時 方法a 中呼叫方法...

spring宣告式事務支援7種傳播行為

propagation required 支援當前事務,如果當前沒有事務,就新建乙個事務。這是最常見的選擇。propagation supports 支援當前事務,如果當前沒有事務,就以非事務方式執行。propagation mandatory 支援當前事務,如果當前沒有事務,就丟擲異常。propa...