事務的傳播行為

2021-08-17 06:32:00 字數 595 閱讀 1347

所謂事務的傳播行為是指,如果在開始當前事務之前,乙個事務上下文已經存在,這時有七個屬性可以指定該事務的執行行為。

1.propagation_required:如果當前存在事務,則加入該事務;如果當前沒有事務,則建立乙個新的事務。這是預設值

2.propagation_supports:如果當前存在事務,則加入該事務;如果當前沒有事務,則以非事務的方式繼續執行。

3.propagation_mandatory[ˈmændətəri]:如果當前存在事務,則加入該事務;如果當前沒有事務,則丟擲異常。

4.propagation_nested[nestɪd]:如果當前存在事務,則建立乙個事務作為當前事務的巢狀事務來執行;如果當前沒有事務,則該取值等價於propagation_required。

5.propagation_requires_new:建立乙個新的事務,如果當前存在事務,則把當前事務掛起。

6.propagation_not_supported:以非事務方式執行,如果當前存在事務,則把當前事務掛起。

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

個人覺得如上順序更方便記憶。

參考部落格:

事務傳播行為

事務傳播行為型別 說明propagation required 如果當前沒有事務,就新建乙個事務,如果已經存在乙個事務中,加入到這個事務中。這是最常見的選擇。propagation supports 支援當前事務,如果當前沒有事務,就以非事務方式執行。propagation mandatory 使用...

事務的傳播行為

簡介 當事務方法被另乙個事務方法呼叫時,必須指定事務應該如何傳播。例如 方法可能繼續在現有事務中執行,也可能開啟乙個新事務,並在自己的事務中執行。事務的傳播行為可以由傳播屬性指定。spring定義了 7種類傳播行為。事務傳播屬性可以在 transactional註解的propagation屬性中定義...

spring 事務傳播行為

事務傳播行為種類 spring在transactiondefinition介面中規定了7種型別的事務傳播行為,它們規定了事務方法和事務方法發生巢狀呼叫時事務如何進行傳播 事務傳播行為型別 事務傳播行為型別 說明propagation required 如果當前沒有事務,就新建乙個事務,如果已經存在乙...