91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring中怎么實現事務傳播行為

發布時間:2021-06-17 11:32:28 來源:億速云 閱讀:123 作者:Leah 欄目:編程語言

Spring中怎么實現事務傳播行為,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

傳播行為定義關于客戶端和被調用方法的事務邊界。Spring定義了7種截然不同的傳播行為。

  • 1,PROPAGATION_MANDATORY,表示該方法必須運行在一個事務中。如果當前沒有事務正在發生,則拋出異常。

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

  • 3,PROPAGATION_NEVER,表示當前方法不應該在一個事務上下文中運行。如果當前有一個事務正在運行,則拋出異常。

  • 4,PROPAGATION_NOT_SUPPORTED,表示該方法不應該在一個事務中運行。如果當前有一個事務正在運行,它將在該方法運行期間被掛起。

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

  • 6,PROPAGATION_REQUIRES_NEW,表示當前方法必須在它自己的事務里運行。一個新的事務將被啟動,而且如果有一個現有事務正在運行的話,則它將在當前方法運行期間被掛起。

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

讀上述7種事務的一些說明如下。

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

第二種事務,nested,嵌套的,它要求當前已經有一個封裝事務了,且它自己會作為一個內部嵌套的事務來運行。如果當前沒有封裝事務,則它就不管外界了,自己啟動一個事務來運行。

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

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

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

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

城固县| 黎川县| 定西市| 白山市| 保定市| 佛坪县| 双辽市| 靖西县| 河曲县| 独山县| 肃宁县| 惠安县| 自贡市| 新绛县| 松原市| 上杭县| 余江县| 郑州市| 湖口县| 诸城市| 时尚| 玛沁县| 台北市| 临潭县| 乌什县| 乌海市| 焉耆| 且末县| 贡嘎县| 麻江县| 青田县| 成安县| 南涧| 绩溪县| 凉山| 阳东县| 岳普湖县| 罗平县| 林甸县| 浦北县| 丹寨县|