Spring 7种事务传播行为

PROPAGATION_REQUIRED

PROPAGATION_REQUIRES_NEW

PROPAGATION_NESTED

PROPAGATION_SUPPORTS

PROPAGATION_NOT_SUPPORTED

PROPAGATION_NEVER

PROPAGATION_MANDATORY

spring解决方法之间的事务传播,

如:

方法A有事务,方法B也有事务

方法A有事务,方法B没有事务

方法A没有事务,方法B有事务

方法A没有事务,方法B也没有有事务

 

1,如果没有,新建一个事务,如果有,加入当前事务,spring默认事务传播行为

2,如果没有,新建一个事务,如果有,将当前事务挂起,即新建一个事务,该事物和原来的事务没有关系

3,如果没有,新建一个事务,如果有,就在当前事务中嵌套其他事务,即子事务和主事务有关联(主事务提交或回滚,子事务也会提交或回滚)

4,如果没有,就以非事务方式执行,如果有,使用当前事务

5,如果没有,就以非事务方式执行,如果有,就将当前事务挂起

6,如果没有,就以非事务方式执行,如果有,抛出异常

7,如果没有,就抛出异常,如果有,就使用当前事务

 

posted on 2017-03-24 14:02  飞尘-海棠梨花  阅读(151)  评论(0编辑  收藏  举报

导航