【发布时间】:2018-10-07 04:18:21
【问题描述】:
下面是我的方法的结构:
@Override
@Transactional
public methodOuter(){
//some processing
methodInner1();
methodInner2();
}
@Override
@Transactional
public methodInner1(){
//save something to db
}
@Override
@Transactional
public methodInner2(){
//some processing
//throws exception
}
场景是methodInner1() 处理成功但methodInner2() 抛出异常。所以我想回滚在methodInner1() 中完成的提交。目前methodInner1() 中的提交没有回滚。我希望 methodOuter() 进行单笔交易
【问题讨论】:
-
您可以在这里利用不同的交易模式。我想你需要的是使用现有的 else 创建新的
-
您可以在
methodInner1()和methodInner2()上使用PROPAGATION_REQUIRED,这将使所有方法在单个事务中执行。
标签: java spring-boot transactional propagation