实现功能:需要捕获到@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注解