其他
Spring 如何在一个事务中开启另一个事务?
public class ServiceA {
public void doSomething(){
向数据库中添加数据;
调用其他系统;
}
}
Propagation propagation() default Propagation.REQUIRED;
public class ServiceA {
public void doSomething(){
insert();
调用其他系统;
}
(propagation = Propagation.REQUIRES_NEW)
public void insert(){
向数据库中添加数据;
}
}
public class ServiceA {
private ServiceB serviceB;
public void doSomething(){
serviceB.insert();
调用其他系统;
}
}
public class ServiceB {
(propagation = Propagation.REQUIRES_NEW)
public void insert(){
向数据库中添加数据;
}
}
<aop:aspectj-autoproxy expose-proxy="true"/>
或者:
<aop:config expose-proxy="true">
并且在代码的调用中要求使用代理对象去调用即可:
((ServiceA ) AopContext.currentProxy()).insert();
作者:Mazin
https://my.oschina.net/u/3441184/blog/893628
点击「阅读原文」和栈长学更多~