某微服务电商项目,跨服务操作订单完成时,事务不生效。(分布式事务借助柔性事务的框架-hmily)
Spring的事务只对代理类的调用生效,若在同类,方法内直接调用相当于使用被代理的对象进行调用,事务注解不生效
不生效的原因是AOP导致,JDK动态代理和CGLIB责任链的调用方式引起同方法内调用不生效,在重组字节码是,无法判断嵌套方法内的方法是否有注解
拆分方法,用另外的包装类取代原有的调用逻辑