国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 克山县| 安国市| 曲沃县| 黄浦区| 宜黄县| 惠安县| 黄陵县| 偃师市| 花莲县| 磐石市| 台江县| 湄潭县| 甘孜| 报价| 浪卡子县| 屏东市| 广汉市| 长寿区| 焦作市| 鹤岗市| 玛纳斯县| 肥东县| 连山| 武穴市| 正定县| 泰安市| 墨玉县| 泾阳县| 大石桥市| 淅川县| 兴仁县| 丘北县| 南京市| 昌邑市| 封丘县| 铜陵市| 湟中县| 汝南县| 张家界市| 定南县| 景东|