日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Spring事務的傳播機制

來源: 責編: 時間:2023-10-30 09:07:11 319觀看
導讀我們都知道,在數據庫中有這事務的存在,但是更多的時候,我們還會被經常問到這個關于 Spring 中 事務的各種行為,又或者說是傳播機制,或者隔離級別等內容,那么面試的時候我們應該怎么去回答這個 Spring 事務的傳播機制以及隔

我們都知道,在數據庫中有這事務的存在,但是更多的時候,我們還會被經常問到這個關于 Spring 中 事務的各種行為,又或者說是傳播機制,或者隔離級別等內容,那么面試的時候我們應該怎么去回答這個 Spring 事務的傳播機制以及隔離級別呢?j6828資訊網——每日最新資訊28at.com

什么是 Spring 的事務

事務是邏輯處理原?性的保證?段,通過使?事務控制,可以極?的避免出現邏輯處理失敗導致的臟數 據等問題。j6828資訊網——每日最新資訊28at.com

事務最重要的兩個特性,是事務的傳播級別和數據隔離級別。傳播級別定義的是事務的控制范圍,事務 隔離級別定義的是事務在數據庫讀寫??的控制范圍。j6828資訊網——每日最新資訊28at.com

Spring事務傳播機制

PROPAGATION_REQUIRED

Spring默認的事務傳播級別,使?該級別的特點是,如果上下?中 已經存在事務,那么就加?到事務中執?,如果當前上下?中不存在事務,則新建事務執?。所以這個 級別通常能滿?處理?多數的業務場景。j6828資訊網——每日最新資訊28at.com

PROPAGATION_SUPPORTS

從字?意思就知道,supports,?持,該傳播級別的特點是,如果上下?存在事務,則?持事務加?事務,如果沒有事務,則使??事務的?式執?。所以說,并?所有的包在transactionTemplate.execute中的代碼都會有事務?持。這個通常是?來處理那些并?原?性的?核?業務邏輯操作。應?場景較少。j6828資訊網——每日最新資訊28at.com

PROPAGATION_MANDATORY

該級別的事務要求上下?中必須要存在事務,否則就會拋出異常!配置該?式的傳播級別是有效的控制上下?調?代碼遺漏添加事務控制的保證?段。?如?段代碼不能單獨被調?執?,但是?旦被調?,就必須有事務包含的情況,就可以使?這個傳播級別。j6828資訊網——每日最新資訊28at.com

PROPAGATION_REQUIRES_NEW

從字?即可知道,new,每次都要?個新事務,該傳播級別的特點是,每次都會新建?個事務,并且同時將上下?中的事務掛起,執?當前新建事務完成以后,上下?事務恢復再執?。j6828資訊網——每日最新資訊28at.com

這是?個很有?的傳播級別,舉?個應?場景:現在有?個發送100個紅包的操作,在發送之前,要做 ?些系統的初始化、驗證、數據記錄操作,然后發送100封紅包,然后再記錄發送?志,發送?志要求 100%的準確,如果?志不準確,那么整個?事務邏輯需要回滾。j6828資訊網——每日最新資訊28at.com

怎么處理整個業務需求呢?就是通過這個PROPAGATION_REQUIRES_NEW 級別的事務傳播控制就可以 完成。發送紅包的?事務不會直接影響到?事務的提交和回滾。j6828資訊網——每日最新資訊28at.com

PROPAGATION_NOT_SUPPORTED

這個也可以從字?得知,not supported ,不?持,當前級別的特點就是上下?中存在事務,則掛起事務,執?當前邏輯,結束后恢復上下?的事務。j6828資訊網——每日最新資訊28at.com

這個級別有什么好處?j6828資訊網——每日最新資訊28at.com

可以幫助你將事務極可能的縮?。我們知道?個事務越?,它存在的?險也就越多。所以在處理事務的過程中,要保證盡可能的縮?范圍。?如?段代碼,是每次邏輯操作都必須調?的,?如循環1000次的某個?核?業務邏輯操作。這樣的代碼如果包在事務中,勢必造成事務太?,導致出現?些難以考慮周全的異常情況。所以這個事務這個級別的傳播級別就派上?場了。j6828資訊網——每日最新資訊28at.com

PROPAGATION_NEVER

該事務更嚴格,上??個事務傳播級別只是不?持?已,有事務就掛 起,?PROPAGATION_NEVER傳播級別要求上下?中不能存在事務,?旦有事務,就拋出runtime異 常,強制停?執?!這個級別上輩?跟事務有仇。j6828資訊網——每日最新資訊28at.com

PROPAGATION_NESTED

字?也可知道,nested,嵌套級別事務。該傳播級別特征是,如果上 下?中存在事務,則嵌套事務執?,如果不存在事務,則新建事務j6828資訊網——每日最新資訊28at.com

Spring 事務隔離級別

Serializable

最嚴格的級別,事務串?執?,資源消耗最?;j6828資訊網——每日最新資訊28at.com

REPEATABLE READ

保證了?個事務不會修改已經由另?個事務讀取但未提交(回滾)的數據。 避免了“臟讀取”和“不可重復讀取”的情況,但是帶來了更多的性能損失。j6828資訊網——每日最新資訊28at.com

READ COMMITTED

?多數主流數據庫的默認事務等級,保證了?個事務不會讀到另?個并?事務 已修改但未提交的數據,避免了“臟讀取”。該級別適?于?多數系統。j6828資訊網——每日最新資訊28at.com

Read Uncommitted

保證了讀取過程中不會讀取到?法數據j6828資訊網——每日最新資訊28at.com

我們來舉個事務傳播的例子:j6828資訊網——每日最新資訊28at.com

假設有一個方法childTest(),它是一個事務方法,使用了PROPAGATION_REQUIRED事務傳播選項。如果在一個事務中調用這個方法,那么它會在同一個事務中執行。j6828資訊網——每日最新資訊28at.com

現在假設有一個方法mainTest(),它調用了childTest()方法。如果在mainTest()方法中沒有顯式地聲明事務,而childTest()方法中聲明了事務,那么childTest()方法將在一個新的事務中執行,這個新的事務不會影響mainTest()方法的執行。j6828資訊網——每日最新資訊28at.com

但是,如果mainTest()方法也使用了事務傳播選項,例如PROPAGATION_REQUIRED,那么在執行childTest()方法時,它的事務會隱式地與mainTest()方法的事務關聯。這意味著如果childTest()方法的事務成功,則mainTest()方法的事務也會成功;如果childTest()方法的事務失敗,則mainTest()方法的事務也會失敗。j6828資訊網——每日最新資訊28at.com

關于 Spring 的事務,你了解了么?j6828資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-15748-0.htmlSpring事務的傳播機制

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Envoy 基于文件和 API 的動態配置方式

下一篇: 為什么 IT 項目仍然失敗

標簽:
  • 熱門焦點
  • 中興AX5400Pro+上手體驗:再升級 雙2.5G網口+USB 3.0這次全都有

    2021年11月的時候,中興先后發布了兩款路由器產品,中興AX5400和中興AX5400 Pro,從產品命名上就不難看出這是隸屬于同一系列的,但在外觀設計上這兩款產品可以說是完全沒一點關系
  • 一篇聊聊Go錯誤封裝機制

    %w 是用于錯誤包裝(Error Wrapping)的格式化動詞。它是用于 fmt.Errorf 和 fmt.Sprintf 函數中的一個特殊格式化動詞,用于將一個錯誤(或其他可打印的值)包裝在一個新的錯誤中。使
  • 學習JavaScript的10個理由...

    作者 | Simplilearn編譯 | 王瑞平當你決心學習一門語言的時候,很難選擇到底應該學習哪一門,常用的語言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 深度探索 Elasticsearch 8.X:function_score 參數解讀與實戰案例分析

    在 Elasticsearch 中,function_score 可以讓我們在查詢的同時對搜索結果進行自定義評分。function_score 提供了一系列的參數和函數讓我們可以根據需求靈活地進行設置。近期
  • 一文搞定Java NIO,以及各種奇葩流

    大家好,我是哪吒。很多朋友問我,如何才能學好IO流,對各種流的概念,云里霧里的,不求甚解。用到的時候,現百度,功能雖然實現了,但是為什么用這個?不知道。更別說效率問題了~下次再遇到,
  • 零售大模型“干中學”,攀爬數字化珠峰

    文/侯煜編輯/cc來源/華爾街科技眼對于絕大多數登山愛好者而言,攀爬珠穆朗瑪峰可謂終極目標。攀登珠峰的商業路線有兩條,一是尼泊爾境內的南坡路線,一是中國境內的北坡路線。相
  • 騰訊VS網易,最卷游戲暑期檔,誰能笑到最后?

    作者:無銹缽來源:財經無忌7月16日晚,上海1862時尚藝術中心。伴隨著幻象的精準命中,碩大的熒幕之上,比分被定格在了14:12,被寄予厚望的EDG戰隊以絕對的優勢戰勝了BLG戰隊,拿下了總決
  • 疑似小米14外觀設計圖曝光:后置相機模組變化不大

    下半年的大幕已經開啟,而誰將成為下半年手機圈的主角就成為了大家關注的焦點,其中被傳有望拿下新一代驍龍8 Gen3旗艦芯片的小米14系列更是備受大家矚
  • OPPO K11搭載長壽版100W超級閃充:26分鐘充滿100%

    據此前官方宣布,OPPO將于7月25日也就是今天下午14:30舉辦新品發布會,屆時全新的OPPO K11將正式與大家見面,將主打旗艦影像,和同檔位競品相比,其最大的賣
Top 主站蜘蛛池模板: 金昌市| 万山特区| 梁平县| 遂溪县| 明水县| 托里县| 八宿县| 留坝县| 色达县| 荆门市| 新野县| 湟中县| 获嘉县| 山丹县| 五大连池市| 元阳县| 斗六市| 仙居县| 寿光市| 城口县| 刚察县| 密山市| 高安市| 永定县| 平邑县| 新邵县| 巨野县| 无极县| 四子王旗| 交城县| 翼城县| 黔南| 江油市| 缙云县| 乐都县| 山西省| 容城县| 宁蒗| 岚皋县| 江都市| 壤塘县|