Spring事務傳播行為

2022-05-01 08:57:11 字數 762 閱讀 5938

什麼是spring事務傳播行為?

事務傳播行為用來描述由某乙個事務傳播行為修飾的方法被巢狀進另乙個方法的時,事務如何傳播。

假設servicea 中方法a()呼叫 serviceb中方法 b()(b被事務修飾),那麼會有兩種情況:

方法a有事務,方法b有事務

方法a沒有事務,方法b有事務

spring中的事務傳播行為有7種,預設為 propagation.required:

1. propagation.required

如果當前存在事務,則加入該事務,如果當前不存在事務,則建立乙個新的事務。

2. propagation.supports

如果當前存在事務,則加入該事務;如果當前不存在事務,則以非事務的方式繼續執行。

3. propagation.mandatory

如果當前存在事務,則加入該事務;如果當前不存在事務,則丟擲異常。

4. propagation.requires_new

重新建立乙個新的事務,如果當前存在事務,暫停當前的事務。

5. propagation.not_supported

以非事務的方式執行,如果當前存在事務,暫停當前的事務。

6. propagation.never

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

7. propagation.nested

和 propagation.required 效果一樣。

備註:當前,可理解為上例中的a方法。

詳情可見:

spring 事務傳播行為

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

Spring事務傳播行為

你們說一下什麼是傳播行為,有幾種傳播行為,是不是有7種傳播行為,你們看一段 就知道傳播行為是怎麼用的,它是產生在 多個事務中,我定義乙個 class userservice 這個行為你不會不知道,行為是基礎知識,userdao.add 是不是這樣的,我在add方法上加上註解,logservice.a...

spring 事務傳播行為

spring中事務的定義 propagation key屬性確定 應該給哪個方法增加事務行為。這樣的屬性最重要的部份是傳播行為。有以下選項可供使用 共患難 各自飛 1 test1 test2 使用預設的事務註解或不使用事務,test 使用 propagation.requires new 或 預設 ...