欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring中事務(wù)傳播行為的介紹

 更新時(shí)間:2019年01月05日 16:06:08   作者:李燦輝  
今天小編就為大家分享一篇關(guān)于Spring中事務(wù)傳播行為的介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

傳播行為定義關(guān)于客戶端和被調(diào)用方法的事務(wù)邊界。Spring定義了7種截然不同的傳播行為。

  • 1,PROPAGATION_MANDATORY,表示該方法必須運(yùn)行在一個(gè)事務(wù)中。如果當(dāng)前沒有事務(wù)正在發(fā)生,則拋出異常。
  • 2,PROPAGATION_NESTED,表示如果當(dāng)前有一個(gè)事務(wù)正在運(yùn)行當(dāng)中,則該方法應(yīng)該運(yùn)行在一個(gè)嵌套事務(wù)中。被嵌套的事務(wù)可以獨(dú)立于封裝事務(wù)進(jìn)行提交或回滾。如果封裝事務(wù)不存在,則行為就像PROPAGATION_REQUIRED一樣。
  • 3,PROPAGATION_NEVER,表示當(dāng)前方法不應(yīng)該在一個(gè)事務(wù)上下文中運(yùn)行。如果當(dāng)前有一個(gè)事務(wù)正在運(yùn)行,則拋出異常。
  • 4,PROPAGATION_NOT_SUPPORTED,表示該方法不應(yīng)該在一個(gè)事務(wù)中運(yùn)行。如果當(dāng)前有一個(gè)事務(wù)正在運(yùn)行,它將在該方法運(yùn)行期間被掛起。
  • 5,PROPAGATION_REQUIRED,表示當(dāng)前方法必須在一個(gè)事務(wù)中運(yùn)行。如果當(dāng)前有一個(gè)事務(wù)正在運(yùn)行,該方法將會(huì)在那個(gè)事務(wù)中運(yùn)行。否則的話,就會(huì)開始一個(gè)新的事務(wù)。
  • 6,PROPAGATION_REQUIRES_NEW,表示當(dāng)前方法必須在它自己的事務(wù)里運(yùn)行。一個(gè)新的事務(wù)將被啟動(dòng),而且如果有一個(gè)現(xiàn)有事務(wù)正在運(yùn)行的話,則它將在當(dāng)前方法運(yùn)行期間被掛起。
  • 7,PROPAGATION_SUPPORTS,表示當(dāng)前事務(wù)不需要事務(wù)性上下文,但是如果一個(gè)事務(wù)正在運(yùn)行的話,它也可以在這個(gè)事務(wù)里運(yùn)行。

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

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

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

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

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

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • Java DOM4J方式生成XML的方法

    Java DOM4J方式生成XML的方法

    今天小編就為大家分享一篇Java DOM4J方式生成XML的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Netty粘包拆包及使用原理詳解

    Netty粘包拆包及使用原理詳解

    Netty是由JBOSS提供的一個(gè)java開源框架,現(xiàn)為?Github上的獨(dú)立項(xiàng)目。Netty提供異步的、事件驅(qū)動(dòng)的網(wǎng)絡(luò)應(yīng)用程序框架和工具,用以快速開發(fā)高性能、高可靠性的網(wǎng)絡(luò)服務(wù)器和客戶端程序,這篇文章主要介紹了Netty粘包拆包及使用原理
    2022-08-08
  • Java虛擬機(jī)運(yùn)行時(shí)棧的棧幀

    Java虛擬機(jī)運(yùn)行時(shí)棧的棧幀

    本節(jié)將會(huì)介紹一下Java虛擬機(jī)棧中的棧幀,會(huì)對(duì)棧幀的組成部分(局部變量表、操作數(shù)棧、動(dòng)態(tài)鏈接、方法出口)分別進(jìn)行介紹,最后還會(huì)通過javap命令反解析編譯后的.class文件,進(jìn)行分析方法執(zhí)行時(shí)的局部變量表、操作數(shù)棧等
    2021-09-09
  • Java判斷兩個(gè)集合是否具有交集及如何獲得交集詳解

    Java判斷兩個(gè)集合是否具有交集及如何獲得交集詳解

    這篇文章主要給大家介紹了關(guān)于Java判斷兩個(gè)集合是否具有交集及如何獲得交集的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-07-07
  • SpringMVC 單文件,多文件上傳實(shí)現(xiàn)詳解

    SpringMVC 單文件,多文件上傳實(shí)現(xiàn)詳解

    這篇文章主要介紹了SpringMVC 單文件,多文件上傳實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • 如何在不使用spring框架中使用aop的功能

    如何在不使用spring框架中使用aop的功能

    這篇文章主要介紹了如何在不使用spring框架中使用aop的功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Java8新特性之空指針異常的克星Optional類的實(shí)現(xiàn)

    Java8新特性之空指針異常的克星Optional類的實(shí)現(xiàn)

    這篇文章主要介紹了Java8新特性之空指針異常的克星Optional類的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • jackson在springboot中的使用方式-自定義參數(shù)轉(zhuǎn)換器

    jackson在springboot中的使用方式-自定義參數(shù)轉(zhuǎn)換器

    這篇文章主要介紹了jackson在springboot中的使用方式-自定義參數(shù)轉(zhuǎn)換器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java中的命名與目錄接口JNDI基本操作方法概覽

    Java中的命名與目錄接口JNDI基本操作方法概覽

    這篇文章主要介紹了Java中的命名與目錄接口JNDI基本操作方法概覽,JNDI提供統(tǒng)一的客戶端API使得Java應(yīng)用程序可以和這些命名服務(wù)和目錄服務(wù)之間進(jìn)行交互,需要的朋友可以參考下
    2016-03-03
  • SpringMVC基于配置的異常處理器

    SpringMVC基于配置的異常處理器

    這篇文章主要為大家介紹了SpringMVC基于配置的異常處理器,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05

最新評(píng)論