一點一滴,編程人生

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            69 隨筆 :: 0 文章 :: 25 評論 :: 0 Trackbacks
          今天用JTA管理事務時,發現事務不能正確的回滾,具體情況是RuntimeException類型的異常能被正確的回滾,但是其它非RuntimeException異常則不能正確回滾,也就是說非運行時異常沒有被spring框架捕獲。

          查看spring文檔獲知,默認情況下,spring框架只捕獲RuntimeException異常或是其子類,要想捕獲非運行時異常則需要如下配置:

          注意:rollback-for="YourException" 是關鍵代碼!"YourException"代表哪一類型的異常能被正確的回滾。這里可以指定Exception或是Throwable。這樣配置就可以捕獲指定類型的異常了。

          <tx:advice id="txAdvice" transaction-manager="txManager">
            
          <tx:attributes>
              
          <tx:method name="get*" read-only="true" rollback-for="YourException"/>
              
          <tx:method name="*"/>
            
          </tx:attributes>
          </tx:advice>
          posted on 2011-07-27 22:43 writegull 閱讀(1921) 評論(1)  編輯  收藏 所屬分類: Spring框架

          評論

          # re: spring 異常與事務回滾 2014-10-14 10:16 ssdass
          sdfsfdsdff  回復  更多評論
            


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


          網站導航:
           
          主站蜘蛛池模板: 仁寿县| 花垣县| 高清| 大渡口区| 泰来县| 鸡泽县| 宁海县| 泸水县| 永吉县| 新安县| 乡城县| 谢通门县| 临猗县| 盘锦市| 长子县| 泽州县| 综艺| 贞丰县| 达尔| 精河县| 西乌| 西盟| 犍为县| 德州市| 东乌珠穆沁旗| 松桃| 全州县| 辉南县| 安康市| 光泽县| 昆明市| 安徽省| 六枝特区| 嵊泗县| 岐山县| 潜山县| 清镇市| 竹北市| 双辽市| 云霄县| 长葛市|