Spring事務管理 事務的傳播行為

2021-08-07 16:08:43 字數 1073 閱讀 2788

1、簡介

當事務方法被另乙個事務方法呼叫時,必須指定事務應該如何傳播。例如:方法可能繼續在現有事務中執行,也可能開啟乙個新事務,並在自己的事務中執行。

事務的傳播行為可以由傳播屬性指定。spring定義了

7種類傳播行為。如下圖所示:

2、傳播屬性的定義

①、事務的傳播屬性可以再@transactional註解的

propagation

屬性中定義。如圖所示:

在spring 2.x事務通知中,可以像下面這樣在

元素中設定傳播事務屬性。

3、常用的兩種傳播行為的說明

①、required

傳播行為

當bookservice的

purchase()

方法被另乙個事務方法

checkout()

呼叫時,它缺省會在現有的事務內執行。這個預設的傳播行為就是

required

。因此在

checkout()

方法的開始和終止邊界內只有乙個事務。這個事務只在

checkout()

方法結束的時候被提交,結果使用者一本書都買不了。

②、requires_new傳播行為

表示該方法必須啟動乙個新事務,並在自己的事務內執行。如果有事務在執行,就應該先掛起它。

spring事務管理(事務的理解)

事務必須服從acid原則。acid指的是 1.原子性 atomicity 2.一致性 consistency 3.隔離性 isolation 4.永續性 durability 理解為,事務其實就是一系列指令的集合。在許多事務處理同乙個資料時,如果沒有採取有效的隔離機制,那麼併發處理資料時,會帶來一些...

Spring事務管理及事務傳播行為

大家所了解的事務transaction,它是一些列嚴密操作動作,要麼都操作完成,要麼都回滾撤銷。spring事務管理基於底層資料庫本身的事務處理機制。資料庫事務的基礎,是掌握spring事務管理的基礎。這篇總結下spring事務。事務具備acid四種特性,acid是atomic 原子性 consis...

Spring 事務機制原理 事務管理 API

spring的事務管理機制實現的原理,是通過動態 對所有需要事務管理的bean進行載入,並根據配置在invoke方法中對當前呼叫的 方法名進行判定,並在method.invoke方法前後為其加上合適的事務管理 這樣就實現了spring式的事務管理。spring中的aop實現更為複雜和靈活,不過基本原...