1. <bdo id="8zfej"></bdo>
    <li id="8zfej"><meter id="8zfej"><th id="8zfej"></th></meter></li>

    南京北大青鳥

    全國咨詢電話:15195455103

    三分鐘了解北大青鳥
    當前位置:南京北大青鳥 > 學習園地 > 編程技巧

    spring_聲明式事務

    來源:南京北大青鳥張府園校區? ? ? 作者:IT教育 ? ??

    所謂事務的傳播行為是指,如果在開始當前事務之前,一個事務上下文已經存在,此時有若干選項可以指定一個事務性方法的執行行為。
    聲明式事務的事務屬性:
    一:傳播行為
    二:隔離級別
    三:只讀提示
    四:事務超時間隔
     
    傳播行為:
    所謂事務的傳播行為是指,如果在開始當前事務之前,一個事務上下文已經存在,此時有若干選項可以指定一個事務性方法的執行行為。
    spring的事務傳播規則:
    傳播行為 意義
    PROPAGATION_REQUIRED 如果當前存在事務,則加入該事務;如果當前沒有事務,則創建一個新的事務。
    PROPAGATION_REQUIRES_NEW 創建一個新的事務,如果當前存在事務,則把當前事務掛起。
    PROPAGATION_SUPPORTS 如果當前存在事務,則加入該事務;如果當前沒有事務,則以非事務的方式繼續運行。
    PROPAGATION_NOT_SUPPORTED 以非事務方式運行,如果當前存在事務,則把當前事務掛起。
    PROPAGATION_NEVER 以非事務方式運行,如果當前存在事務,則拋出異常
    PROPAGATION_MANDATORY 如果當前存在事務,則加入該事務;如果當前沒有事務,則拋出異常。
    PROPAGATION_NESTED 如果當前存在事務,則創建一個事務作為當前事務的嵌套事務來運行; 如果當前沒有事務,則該取值等價于TransactionDefinition.PROPAGATION_REQUIRED。
      這里需要指出的是,前面的六種事務傳播行為是 Spring 從 EJB 中引入的,他們共享相同的概念。而 PROPAGATION_NESTED是 Spring 所特有的。以 PROPAGATION_NESTED 啟動的事務內嵌于外部事務中(如果存在外部事務的話),此時,內嵌事務并不是一個獨立的事務,它依賴于外部事務的存在,只有通過外部的事務提交,才能引起 內部事務的提交,嵌套的子事務不能單獨提交。如果熟悉 JDBC 中的保存點(SavePoint)的概念,那嵌套事務就很容易理解了,其實嵌套的子事務就是保存點的一個應用,一個事務中可以包括多個保存點,每一個嵌套 子事務。另外,外部事務的回滾也會導致嵌套子事務的回滾。
     
     
    隔離級別:
    隔離級別是指若干個并發的事務之間的隔離程度。
    spring的事務隔離級別: 
    隔離級別 含義
    ISOLATION_DEFAULT 這是默認值,表示使用底層數據庫的默認隔離級別。對大部分數據庫而言,通常這值就是ISOLATION_READ_COMMITTED。
    ISOLATION_READ_UNCOMMITTED 該隔離級別表示一個事務可以讀取另一個事務修改但還沒有提交的數據。該級別不能防止臟讀和不可重復讀,因此很少使用該隔離級別。
    ISOLATION_READ_COMMITTED 該隔離級別表示一個事務只能讀取另一個事務已經提交的數據。該級別可以防止臟讀,這也是大多數情況下的推薦值。
    ISOLATION_REPEATABLE_READ 該隔離級別表示一個事務在整個過程中可以多次重復執 行某個查詢,并且每次返回的記錄都相同。即使在多次查詢之間有新增的數據滿足該查詢,這些新增的記錄也會被忽略。該級別可以防止臟讀和不可重復讀。
    ISOLATION_SERIALIZABLE 所有的事務依次逐個執行,這樣事務之間就完全不可能產生干擾,也就是說,該級別可以防止臟讀、不可重復讀以及幻讀。但是這將嚴重影響程序的性能。通常情況下也不會用到該級別。
     
    只讀提示: 
    事務的只讀屬性是指,對事務性資源進行只讀操作或者是讀寫操作。所謂事務性資源就是指那些被事務管理的資源,比如數據源、 JMS 資源,以及自定義的事務性資源等等。如果確定只對事務性資源進行只讀操作,那么我們可以將事務標志為只讀的,以提高事務處理的性能。在 TransactionDefinition 中以 boolean 類型來表示該事務是否只讀。
     
    事務超時間隔:
    所謂事務超時,就是指一個事務所允許執行的長時間,如果超過該時間限制但事務還沒有完成,則自動回滾事務。在 TransactionDefinition 中以 int 的值來表示超時時間,其單位是秒。
     
     
     
     

    分享到:

    相關閱讀:

    近期文章

    搶試聽名額

    名額僅剩66名

    教育改變生活

    WE CHANGE LIVES

    主站蜘蛛池模板: 久久婷婷香蕉热狠狠综合| 精品国产国产综合精品| 久久综合久久久久| 国产亚洲综合成人91精品| 91精品一区二区综合在线| 卡通动漫第一页综合专区| 亚州欧州一本综合天堂网| 乱色熟女综合一区二区三区| 婷婷久久香蕉五月综合加勒比| 亚洲AV综合色区无码一二三区| 伊人久久综合影院| 国产性天天综合网| 伊人久久婷婷五月综合97色 | 久久久久久青草大香综合精品| 亚洲综合熟女久久久30p| 亚洲日韩在线中文字幕综合| 伊人久久大香线蕉综合Av| 婷婷综合久久中文字幕蜜桃三 | 老色鬼久久综合第一| 色偷偷亚洲第一综合网| 亚洲五月激情综合图片区| 国产成人无码综合亚洲日韩 | 综合激情五月综合激情五月激情1 综合久久国产九一剧情麻豆 | 色天使久久综合给合久久97色| 亚洲狠狠综合久久| 久久综合九九亚洲一区| 国产亚洲综合成人91精品| 伊人亚洲综合青草青草久热| 丁香伊人五月综合激激激| 婷婷综合缴情亚洲狠狠尤物| 成人伊人青草久久综合网破解版| 久久乐国产综合亚洲精品| 色偷偷亚洲第一综合| 伊人色综合九久久天天蜜桃| 天天躁日日躁狠狠躁综合 | 久久综合日韩亚洲精品色| 久久婷婷五夜综合色频| 天天综合色天天桴色| 亚洲av综合av一区二区三区| 国产精品国产色综合色| 一本色道久久88亚洲综合|