A的数据插入、更新或者删除操作已经成功了,然后调用B服务来执行某个业务,这时候B业务调用失败。需要回滚A业务的操作。请问有啥办法?

解决方案 »

  1.   

    不是,两个接口在同一个controller中
      

  2.   

    我说 把业务逻辑合起来,就是你a接口 执行成功后  去调b接口执行的业务逻辑(service)  不要去调接口
      

  3.   

    业务b调用失败回滚业务a
    业务a失败的话是不是就不调用b的操作了
    是的话
    直接一个事务搞定 
      

  4.   

    保证在一个service中就行,A的service保函B的service就可以做到
      

  5.   

    把这两个操作放在同一个事物里,不要try,异常被捕捉到就不会回滚了,除非你在catch中再抛异常
      

  6.   

    controller里面每次调service都是单独的事务,你得改变下实现方法。
      

  7.   

    你可以把事务注解配到controller