errorCode: SYSTEM_EXCEPTION(UnexpectedRollbackException), message: 系统出现异常,请联系系统管理员!, 事务回滚,因为它已被标记为仅回滚 org.springframework.transaction.UnexpectedRollbackException:事务已回滚,因为它已被标记为仅回滚

    该异常为  A方法加上@Transactional注解后,在方法内某段代码加上try catch捕获 且调用外部A方法也加上了异常捕获;
原因是事务回滚是一旦它在方法内发现了exception,就会向上回滚,此时你将异常包裹,先行处理掉异常后事务自然回滚不了。
解决方法是,直接try去掉,然后解决异常即可。
    造成异常捕获嵌套。
    
   @Transactional
   public void A(){
   try{
   this.xxService();
   }catch(Exception e){
   logger.info('xxx');
   }
   }

   当在方法上加入事务注解后,方法内在用try包裹,一旦出错则会报rollback-only异常
    


posted @ 2023-05-13 23:27  chillymint  阅读(216)  评论(0)    收藏  举报