1. 程式人生 > >講一下 Spring的事務傳播特性

講一下 Spring的事務傳播特性

edit span 特性 bsp red rop man tor supported

1. PROPAGATION_REQUIRED: 如果存在一個事務,則支持當前事務。如果沒有事務則開啟

2. PROPAGATION_SUPPORTS: 如果存在一個事務,支持當前事務。如果沒有事務,則非事務的執行

3. PROPAGATION_MANDATORY: 如果已經存在一個事務,支持當前事務。如果沒有一個活動的事務,則拋出異常。

4. PROPAGATION_REQUIRES_NEW: 總是開啟一個新的事務。如果一個事務已經存在,則將這個存在的事務掛起。

5. PROPAGATION_NOT_SUPPORTED: 總是非事務地執行,並掛起任何存在的事務。

6. PROPAGATION_NEVER: 總是非事務地執行,如果存在一個活動事務,則拋出異常

7. PROPAGATION_NESTED:如果一個活動的事務存在,則運行在一個嵌套的事務中. 如果沒有活動事務, 則按 TransactionDefinition.PROPAGATION_REQUIRED 屬性執行

總結一下:

Propagation

Required 需要 如果存在一個事務,則支持當前事務。如果沒有事務則開啟

Supports 支持 如果存在一個事務,支持當前事務。如果沒有事務,則非事務的執行

Mandatory 必要的 如果已經存在一個事務,支持當前事務。如果沒有一個活動的事務,則

拋出異常。

required_new 總是開啟一個新的事務。如果一個事務已經存在,則將這個存在的事務掛起。

Not_support 總是非事務地執行,並掛起任何存在的事務。

Never 絕不 總是非事務地執行,如果存在一個活動事務,則拋出異常

Nested 嵌套的 如果有就嵌套、沒有就開啟事務

講一下 Spring的事務傳播特性