国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Spring 事務回滾機制

2019-11-10 18:00:05
字體:
來源:轉載
供稿:網友
摘要: SPRing事物回滾

異常回滾示例

捕獲異常,不拋出,事物不能回滾!!!

if(userSave){              try {                 userDao.save(user);                  userCapabilityQuotaDao.save(capabilityQuota);              } catch (Exception e) {                  logger.info("能力開通接口,開戶異常,異常信息:"+e);              }          }

  2.捕獲異常,拋出運行時異常,回滾。當一個方法出錯,另一個方法必然回滾

if(userSave){              try {                  userDao.save(user);                  userCapabilityQuotaDao.save(capabilityQuota);                } catch (Exception e) {                 logger.info("能力開通接口,開戶異常,異常信息:"+e);                  throw new RuntimeException();              }          }

 3.捕獲異常,手動回滾

if(userSave){              try {                  userDao.save(user);                  userCapabilityQuotaDao.save(capabilityQuota);              } catch (Exception e) {                  logger.info("能力開通接口,開戶異常,異常信息:"+e);                  TransactionaspectSupport.currentTransactionStatus().setRollbackOnly();             }          }

 異常事務回滾解決方案: 

 方案1.

       例如service層處理事務,那么service中的方法中不做異常捕獲,或者在catch語句中最后增加throw new RuntimeException()語句,以便讓aop捕獲異常再去回滾,并且在service上層(webservice客戶端,view層action)要繼續捕獲這個異常并處理

  方案2.

       在service層方法的catch語句中增加:TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();語句,手動回滾,這樣上層就無需去處理異常

來源: https://my.oschina.net/manmao/blog/593886
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清流县| 云林县| 襄城县| 北宁市| 洛浦县| 信丰县| 宝丰县| 吴江市| 东方市| 仁寿县| 雅安市| 津市市| 县级市| 江都市| 印江| 额尔古纳市| 晋州市| 禄劝| 洛宁县| 喀什市| 南召县| 灵丘县| 大埔县| 玉溪市| 甘泉县| 玛多县| 霍林郭勒市| 恭城| 高密市| 芦山县| 青川县| 凯里市| 西充县| 始兴县| 麻阳| 盐城市| 广宁县| 湖北省| 秭归县| 威海市| 姚安县|