事務的傳播

2021-10-04 02:55:08 字數 1447 閱讀 8506

當事務方法被另乙個事務方法呼叫時,必須指定事務應該如何傳播。在spring-tx工程下的 transactiondefinition介面中定義了7種事務傳播行為,它們規定了事務方法及事務方法巢狀調 用時的事務傳播方式。那麼讓我們看看它們的區別?

比如:

@transactional

(propagation=propagation.required)

methoda

@transactional

(propagation=propagation.required)

methodb()

;

@transactional

(propagation=propagation.required)

methoda

@transactional

(propagation=propagation.supports)

methodb()

;

@transactional

(propagation=propagation.required)

methoda

@transactional

(propagation=propagation.mandatory)

methodb()

;

@transactional

(propagation=propagation.required)

methoda

@transactional

(propagation=propagation.requires_new)

methodb()

;

@transactional

(propagation=propagation.required)

methoda

@transactional

(propagation=propagation.not_supported)

methodb()

;

@transactional

(propagation=propagation.required)

methoda

@transactional

(propagation=propagation.never)

methodb()

;

@transactional

(propagation=propagation.required)

methoda

@transactional

(propagation=propagation.nested)

methodb()

;

事務的傳播行為

所謂事務的傳播行為是指,如果在開始當前事務之前,乙個事務上下文已經存在,這時有七個屬性可以指定該事務的執行行為。1.propagation required 如果當前存在事務,則加入該事務 如果當前沒有事務,則建立乙個新的事務。這是預設值 2.propagation supports 如果當前存在事...

事務的傳播行為

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

SPRING的事務傳播

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