Springboot @Transactional捕获异常事务回滚

实现功能:需要捕获到@Transactional中的异常,同时不影响事物回滚

1、正常情况下加注解@Transactional和try catch捕获异常会让注解失效

2、解决办法如下代码

 @Override
@Transactional(rollbackFor = Exception.class)
public boolean addAlarm(AlarmMeta alarmMeta){
addtest();
update();
update2();
return true;

}catch (Exception e){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//关键
return false;
}

}
3、spring boot入口函数添加@EnableTransactionManagement注解

猜你喜欢

转载自www.cnblogs.com/zengxiaoyi36/p/9297712.html