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异常

浙公网安备 33010602011771号