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

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

Spring 事務回滾機制

2019-11-10 18:06:36
字體:
來源:轉載
供稿:網友
摘要: 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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黑山县| 龙南县| 忻城县| 景东| 齐齐哈尔市| 明星| 拉孜县| 班戈县| 那曲县| 阳高县| 金溪县| 罗定市| 洛川县| 侯马市| 土默特右旗| 稻城县| 张北县| 惠州市| 徐汇区| 江安县| 新邵县| 五大连池市| 图片| 黑河市| 阿克陶县| 淮滨县| 治县。| 江华| 云霄县| 汉中市| 册亨县| 麻城市| 堆龙德庆县| 木兰县| 栾川县| 新晃| 白河县| 中阳县| 内乡县| 元朗区| 郯城县|