自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Spring中的事務(wù)傳播行為有哪些?

開發(fā) 前端
在日常開發(fā)中,我們經(jīng)常會(huì)存在多個(gè)聲明了事務(wù)的方法相互調(diào)用,在這種情況下,會(huì)存在嵌套兩個(gè)或兩個(gè)以上事務(wù)的情況,所謂事務(wù)傳播行為就是指這些事務(wù)之間的傳播規(guī)則。

今天,我給大家分享一下,我對(duì)Spring傳播行為的理解。

1、事務(wù)傳播行為

圖片

在日常開發(fā)中,我們經(jīng)常會(huì)存在多個(gè)聲明了事務(wù)的方法相互調(diào)用,在這種情況下,會(huì)存在嵌套兩個(gè)或兩個(gè)以上事務(wù)的情況,所謂事務(wù)傳播行為就是指這些事務(wù)之間的傳播規(guī)則。來看這樣一段代碼:

@Transaction(Propagation = REQUIRED_NEW)

public void methodA(){

}

@Transaction(Propagation = REQUIRED)

public void methodB(){

methodA();

}

在這段代碼中,methodB()調(diào)用了methodA(),兩個(gè)方法都顯示的開啟了事務(wù)。methodA()是開啟一個(gè)新事務(wù),還是繼續(xù)在methodB()這個(gè)事務(wù)中執(zhí)行?就取決于事務(wù)的傳播行為規(guī)則的定義。

2、事務(wù)嵌套

圖片

事務(wù)嵌套是指兩個(gè)或兩個(gè)以上開啟的事務(wù)的方法嵌套調(diào)用,在這種情況下,需要制定這些事務(wù)之間的傳播行為規(guī)則。在Spring中,一共定義了7種內(nèi)置的事務(wù)嵌套傳播行為:

第1種:REQUIRED,它是Spring默認(rèn)的事務(wù)傳播行為。表示如果當(dāng)前存在事務(wù),則加入這個(gè)事務(wù),如果不存在事務(wù),就新建一個(gè)事務(wù)。

第2種:REQUIRE_NEW:表示不管是否存在事務(wù),都會(huì)新建一個(gè)事務(wù),新建的事務(wù)和原來已經(jīng)定義的事務(wù)相互獨(dú)立。外部事務(wù)拋出異?;貪L不會(huì)影響內(nèi)部事務(wù)的正常提交。

第3種:NESTED:如果當(dāng)前存在事務(wù),則嵌套在當(dāng)前事務(wù)中執(zhí)行。如果當(dāng)前沒有事務(wù), 則新建一個(gè)事務(wù),類似于REQUIRE_NEW。

第4種:SUPPORTS:表示支持當(dāng)前事務(wù),如果當(dāng)前不存在事務(wù),以非事務(wù)的方式執(zhí)行。

圖片

第5種:NOT_SUPPORTED:表示以非事務(wù)的方式來運(yùn)行,如果當(dāng)前存在事務(wù),則把當(dāng)前事務(wù)掛起。

第6種:MANDATORY:強(qiáng)制事務(wù)執(zhí)行,若當(dāng)前不存在事務(wù),則拋出異常.

第7種:NEVER:以非事務(wù)的方式執(zhí)行,如果當(dāng)前存在事務(wù),則拋出異常。

圖片

Spring事務(wù)傳播一般不需要開發(fā)人員顯式定義,默認(rèn)就是PROPAGATION_REQUIRED,只要在嵌套事務(wù)的情況下需要重點(diǎn)了解。

責(zé)任編輯:武曉燕 來源: Tom彈架構(gòu)
相關(guān)推薦

2021-09-02 18:39:01

Spring隔離級(jí)別

2023-10-30 07:36:19

Spring事務(wù)傳播機(jī)制

2024-12-17 16:26:31

2022-09-22 09:57:20

Spring事務(wù)失效

2010-05-05 09:33:46

Oracle事務(wù)

2024-01-04 12:48:00

Spring

2020-07-17 08:07:54

Spring數(shù)據(jù)庫事務(wù)

2022-06-30 16:03:28

Spring事務(wù)傳播

2019-10-25 16:12:35

Spring傳播屬性數(shù)據(jù)庫

2020-01-07 13:34:03

網(wǎng)絡(luò)攻擊惡意軟件網(wǎng)絡(luò)安全

2022-09-27 21:14:54

Spring事務(wù)傳播機(jī)制

2022-09-27 12:01:56

Spring異步調(diào)用方式

2009-06-22 09:01:57

Spring聲明式事務(wù)

2021-07-12 10:37:42

Spring面試事務(wù)

2024-11-21 16:09:22

2020-08-19 09:45:29

Spring數(shù)據(jù)庫代碼

2023-05-06 07:29:49

Spring事務(wù)傳播

2012-06-07 09:18:16

ibmdw

2023-11-02 07:52:30

Java工具

2024-05-09 16:23:14

華為事務(wù)類型
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)