Java蜘蛛人 歡迎大家

          歡迎大家 來到我的blog , 如果我身邊的朋友 有什么不懂可以直接來問我 我會細心的幫助你的. 如果網絡上的朋友有什么不懂的 可以加我Java蜘蛛人 QQ48187537
          posts - 54, comments - 192, trackbacks - 0, articles - 1
           

              <bean id="transactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"

                  abstract="true">

                 <property name="transactionManager" ref="transactionManager"/>

                 <property name="transactionAttributes">

                     <props>

                        <prop key="insert*">PROPAGATION_REQUIRED</prop>

                        <prop key="update*">PROPAGATION_REQUIRED</prop>

                        <prop key="delete*">PROPAGATION_REQUIRED</prop>

                        <prop key="change*">PROPAGATION_REQUIRED</prop>

                        <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>

                     </props>

                 </property>

              </bean>

          1

          一旦你決定要用 AOP 來做 SERVICE 內部每個方法的事務處理,那么在 DAO 層內部最好不要從自己去 catch 異常,因為在 SERVICE 里面可能多次調用 DAO ,一旦多次調用,你其中一個方法捕獲了異常就沒有辦法保證事務回滾,所以即使你捕獲異常為了調試,一定要在 CATCH 方法中一定還要拋出一個異常來,否則無法保證事務

          2

          一旦決定要用 spring aop 方式來處理事務,一定要不采用 JDOtemplate ,或者 HIBERNATE TEMPALATE 內部類的方式,因為那樣他們自己去管理事務,一旦在內部類中事務回滾,無法保證其他的 DAO 中事務回滾

          3

          1、 PROPAGATION_REQUIRED -- 支持當前的事務,如果不存在就創建一個新的。這是最常用的選擇。
          2 PROPAGATION_SUPPORTS -- 支持當前的事務,如果不存在就不使用事務。
          3 PROPAGATION_MANDATORY -- 支持當前的事務,如果不存在就拋出異常。
          4 PROPAGATION_REQUIRES_NEW -- 創建一個新的事務,并暫停當前的事務(如果存在)。
          5 PROPAGATION_NOT_SUPPORTED -- 不使用事務,并暫停當前的事務(如果存在)。
          6 PROPAGATION_NEVER -- 不使用事務,如果當前存在事務就拋出異常。
          7 PROPAGATION_NESTED -- 如果當前存在事務就作為嵌入事務執行,否則與 PROPAGATION_REQUIRED 類似。

          4 < prop key="change*">PROPAGATION_REQUIRED</prop>

            你可以在 PROPAGATION_REQUIRE 之后指定拋出什么樣的異常事務才回滾,或者事務的隔離方式是什么等等都可以配置如 <prop key="change*">PROPAGATION_REQUIRED,readOnly,-PetClinicException</prop>


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 望奎县| 阿瓦提县| 蓝山县| 司法| 萨嘎县| 东丰县| 柘城县| 兴业县| 驻马店市| 枝江市| 侯马市| 毕节市| 乐东| 随州市| 瑞丽市| 伽师县| 隆尧县| 莒南县| 攀枝花市| 凌源市| 资溪县| 眉山市| 南溪县| 兴业县| 鹤峰县| 遂溪县| 大埔县| 樟树市| 德兴市| 梅河口市| 义乌市| 许昌市| 松原市| 巴中市| 松滋市| 独山县| 新巴尔虎左旗| 潜山县| 榕江县| 邵阳县| 兴隆县|