<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [toc] 本節描述了Spring中事務傳播的一些語義。 請注意,本節不適合作為事務傳播的介紹; 相反,它詳細介紹了Spring中有關事務傳播的一些語義。 在Spring管理的事務中,要注意物理和邏輯事務之間的區別,以及傳播設置如何應用于這種差異。 ## Required ![required](https://box.kancloud.cn/32e6ee200b1e99992bf0cfd8479b407b_800x341.png) ### PROPAGATION_REQUIRED `PROPAGATION_REQUIRED`強制執行物理事務:如果當前還沒有事務存在,則在本地范圍內執行,或者參與為更大范圍定義的現有“外部”事務。 這是同一線程內公共調用堆棧排列的一個很好的默認值,例如 服務外觀委托給幾個存儲庫方法,其中所有底層資源都必須參與服務級事務。 默認情況下,參與事務將使用外部作用域事務的特征,靜默忽略本地隔離級別,超時值或只讀標志(如果有)。 如果您希望隔離級別聲明在參與具有不同隔離級別的現有事務時被拒絕,請考慮在事務管理器上將“validateExistingTransactions”標志切換為“true”。 這種非寬松模式也將拒絕只讀不匹配,即內部讀寫事務試圖參與只讀外部事務的。 當傳播設置為`PROPAGATION_REQUIRED`時,將為應用該設置的每個方法創建邏輯事務范圍。 每個這樣的邏輯事務范圍可以單獨確定僅回滾狀態,外部事務范圍在邏輯上獨立于內部事務范圍。 當然,在標準`PROPAGATION_REQUIRED`行為的情況下,所有這些范圍將映射到同一物理事務。 因此,內部事務范圍中的僅回滾標記集確實會影響外部事務實際提交的機會(正如您所期望的那樣)。 然而,如果內部事務標記為回滾,而外部事務仍然提交,則外部會收到內部拋出的異常`UnexpectedRollbackException`,并內部事務已回滾. ### RequiresNew ![](https://box.kancloud.cn/5b456aa88851b44d59cfdb54cea24cdb_800x276.png) 與`PROPAGATION_REQUIRED`相反,`PROPAGATION_REQUIRES_NEW`始終對每個受影響的事務范圍使用獨立的物理事務,從不參與外部范圍的現有事務。 在這樣的安排中,底層資源事務是不同的,因此可以獨立提交或回滾,外部事務不受內部事務的回滾狀態影響,并且內部事務的鎖在完成后立即釋放。 這樣一個獨立的內部事務也可以聲明它自己的隔離級別,超時和只讀設置,從不繼承外部事務的特性。 ### Nested `PROPAGATION_NESTED`使用具有多個保存點的單個物理事務,它可以回滾到該事務。 這種部分回滾允許內部事務作用域觸發其作用域的回滾,外部事務能夠繼續物理事務,盡管已經回滾了一些操作。 此設置通常映射到JDBC保存點,因此僅適用于JDBC資源事務。 請參閱Spring的`DataSourceTransactionManager`。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看