事务嵌套,本类调用子方法,子方法加事务不生效处理(声明式事务)(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)

事务嵌套,本类调用子方法,子方法加事务不生效处理(声明式事务)(Spring Boot)

//需要回滚的执行方法加:

TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

事务嵌套,本类调用子方法,子方法加事务不生效处理(声明式事务)(Spring Boot)

启动项增加

@EnableAspectJAutoProxy(exposeProxy = true)

事务嵌套,本类调用子方法,子方法加事务不生效处理(声明式事务)(Spring Boot)