事务嵌套,本类调用子方法,子方法加事务不生效处理(声明式事务)(Spring Boot)
//orderExcelList需要单条执行
for (OrderExcelDto orderExcelDto : orderExcelList) {
//想类内部方法调用可以正常使用事务,使用AopContext.currentProxy()来获取代理类再调用
OrderDetailManagerImpl currentProxy = (OrderDetailManagerImpl) AopContext.currentProxy();
Boolean aBoolean = currentProxy.importOrderDeliver(orderExcelDto, user, successList, failureList, uuid);
if(aBoolean){
continue;
}
}
//子方法方法名加:
@Transactional(rollbackFor = Exception.class)
//需要回滚的执行方法加:
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
启动项增加
@EnableAspectJAutoProxy(exposeProxy = true)