欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

扣丁學(xué)堂Java培訓(xùn)之Spring中事務(wù)傳播行為詳解

2019-01-07 10:32:44 1285瀏覽

今天扣丁學(xué)堂Java培訓(xùn)老師為大家分享一篇關(guān)于Spring中事務(wù)傳播行為的詳細介紹,首先傳播行為定義關(guān)于客戶端和被調(diào)用方法的事務(wù)邊界。Spring定義了7種截然不同的傳播行為,下面我們一起來看一下吧。



1,PROPAGATION_MANDATORY,表示該方法必須運行在一個事務(wù)中。如果當(dāng)前沒有事務(wù)正在發(fā)生,則拋出異常。

2,PROPAGATION_NESTED,表示如果當(dāng)前有一個事務(wù)正在運行當(dāng)中,則該方法應(yīng)該運行在一個嵌套事務(wù)中。被嵌套的事務(wù)可以獨立于封裝事務(wù)進行提交或回滾。如果封裝事務(wù)不存在,則行為就像PROPAGATION_REQUIRED一樣。

3,PROPAGATION_NEVER,表示當(dāng)前方法不應(yīng)該在一個事務(wù)上下文中運行。如果當(dāng)前有一個事務(wù)正在運行,則拋出異常。

4,PROPAGATION_NOT_SUPPORTED,表示該方法不應(yīng)該在一個事務(wù)中運行。如果當(dāng)前有一個事務(wù)正在運行,它將在該方法運行期間被掛起。

5,PROPAGATION_REQUIRED,表示當(dāng)前方法必須在一個事務(wù)中運行。如果當(dāng)前有一個事務(wù)正在運行,該方法將會在那個事務(wù)中運行。否則的話,就會開始一個新的事務(wù)。

6,PROPAGATION_REQUIRES_NEW,表示當(dāng)前方法必須在它自己的事務(wù)里運行。一個新的事務(wù)將被啟動,而且如果有一個現(xiàn)有事務(wù)正在運行的話,則它將在當(dāng)前方法運行期間被掛起。

7,PROPAGATION_SUPPORTS,表示當(dāng)前事務(wù)不需要事務(wù)性上下文,但是如果一個事務(wù)正在運行的話,它也可以在這個事務(wù)里運行。

讀上述7種事務(wù)的一些說明如下。

第一種事務(wù),mandatory,表示強制的,即方法必須在一個事務(wù)中運行,否則,拋出異常。它要求必須處在一個封裝事務(wù)里,且它自己不會開啟新的事務(wù)。

第二種事務(wù),nested,嵌套的,它要求當(dāng)前已經(jīng)有一個封裝事務(wù)了,且它自己會作為一個內(nèi)部嵌套的事務(wù)來運行。如果當(dāng)前沒有封裝事務(wù),則它就不管外界了,自己啟動一個事務(wù)來運行。

第三種事務(wù),never,不作為事務(wù),自己不啟動事務(wù),且外界不能有事務(wù)。

第四種和第七種一起來看,SUPPORTS,表示該方法不需要事務(wù)上下文,但外界如果有事務(wù)的話,它也支持在一個外界事務(wù)里運行。NOT_SUPPORTED,表示該方法不應(yīng)在一個事務(wù)上下文里運行,如果外界有事務(wù),那么就把外界事務(wù)掛起,在運行該方法。NOT_SUPPORTED和NEVER的區(qū)別在于,當(dāng)外界有事務(wù)時,NOT_SUPPORTED不會拋出異常。

第五種和第六種一起來看,REQUIRED表示當(dāng)前方法必須在一個事務(wù)中運行,如果外界有事務(wù),那么它就依賴于外界事務(wù)。如果外界沒有事務(wù),它就自己開啟一個事務(wù)。REQUIRED和NESTED的區(qū)別在于,當(dāng)外界有事務(wù)時,NESTED會再創(chuàng)建一個事務(wù),而REQUIRED不創(chuàng)建新事務(wù),只是在外界事務(wù)里運行。REQUIRES_NEW表示當(dāng)前方法必須在自己的事務(wù)里運行。如果外界有事務(wù),則把外界事務(wù)掛起。

以上就是關(guān)于扣丁學(xué)堂Java培訓(xùn)之Spring中事務(wù)傳播行為詳解的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,請關(guān)注扣丁學(xué)堂Java培訓(xùn)官網(wǎng)、微信等平臺,扣丁學(xué)堂IT職業(yè)在線學(xué)習(xí)教育平臺不僅為您提供權(quán)威的Java視頻教程供大家學(xué)習(xí),還精心的準(zhǔn)備了Java從入門到精通開發(fā)實戰(zhàn)技能,定能讓你學(xué)有所成。扣丁學(xué)堂Java技術(shù)交流群:670348138。


扣丁學(xué)堂微信公眾號


【關(guān)注微信公眾號獲取更多學(xué)習(xí)資料】


查看更多關(guān)于“Java開發(fā)資訊”的相關(guān)文章>>

標(biāo)簽: Java培訓(xùn) Java視頻教程 Java多線程 Java面試題 Java學(xué)習(xí)視頻 Java開發(fā)

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部