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

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

Spring 事務(wù)回滾機制

2019-11-10 17:23:39
字體:
供稿:網(wǎng)友
摘要: 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();             }          }

 異常事務(wù)回滾解決方案: 

 方案1.

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

  方案2.

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

來源: https://my.oschina.net/manmao/blog/593886
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 滨州市| 兴义市| 健康| 盱眙县| 河源市| 咸阳市| 二手房| 马尔康县| 平顶山市| 定州市| 鹤峰县| 建昌县| 英吉沙县| 洪江市| 蒙自县| 和林格尔县| 满洲里市| 弥渡县| 西藏| 安平县| 司法| 田东县| 巩义市| 栾城县| 遵义县| 常山县| 乐山市| 兰溪市| 邛崃市| 沐川县| 乌兰县| 阳原县| 屏边| 湟源县| 安顺市| 长顺县| 伽师县| 高雄市| 台江县| 客服| 舞阳县|