使用场景,不想service中的方法抛出异常,又想自动回滚
代码如下:
@Override
public void testTransaction(String id) {
try {
if (true) {//业务代码判断
throw new RuntimeException("手动判断抛出异常"));
}
} catch (Exception e) {
log.error(e.getMessage(),e);
//报错,回滚
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
}
}
主要代码:
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
控制事务在catch中进行回滚。