SSI,事物是由spring AOP声明式管理的,定义在service;在service层方法中有两个操作A,B。
B是service的另外一个方法,而且我自己在B方法中抛了个RuntimeException;
下面是我的事物属性: <tx:method name="A" propagation="REQUIRED"/>
<tx:method name="B" propagation="REQUIRES_NEW"/>REQUIRES_NEW是会重新声明一个事物,所以A,B是两个不同的事物。
我现在的问题是B抛出异常后,按理说只有B回滚才对啊,但是现在的情况是A,B都回滚!!
B是service的另外一个方法,而且我自己在B方法中抛了个RuntimeException;
下面是我的事物属性: <tx:method name="A" propagation="REQUIRED"/>
<tx:method name="B" propagation="REQUIRES_NEW"/>REQUIRES_NEW是会重新声明一个事物,所以A,B是两个不同的事物。
我现在的问题是B抛出异常后,按理说只有B回滚才对啊,但是现在的情况是A,B都回滚!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货