情形:
我用spring声明式事务拦截serviceA和serviceB方法,属性为PROPAGATION_REQUIRED。
 serviceA(){
   dao.insert();   
}
 serviceB(){
   dao.update();
}
action调用:
actionA(){
   serviceA();
   serviceB();
}如果serviceA正常执行,serviceB抛出异常,serviceA会回滚吗?

解决方案 »

  1.   

    不会啊! 除非你又在 action 开事务,让 serviceA 和 serviceB 运行在事务里面才可以。
      

  2.   

    不会,serviceA和serviceB不在同一事务里面
      

  3.   

    不会,如果serviceA 已经运行,就是比serviceB 先调用,你拦截serviceB对serviceA 没有作用了
      

  4.   

    不会,如果serviceA 已经运行,就是比serviceB 先调用,你拦截serviceB对serviceA 没有作用了
      

  5.   

    是否会回滚要看,你的事务是加在哪里了如果你的action方法上加了事务,那肯定会回滚的。如果你是加在Service上了的话,就不会回滚