淘先锋技术网

首页 1 2 3 4 5 6 7

1. spring中几种事务的传播机制

PROPAGATION_REQUIRED

含义

 支持当前事务,如果不存在 就新建一个

可满足的外围运行环境

外围方法可不添加任何注解,亦可添加任何注解, 内面的方法终会运行于事务之中 (没有江山,自己打江山;有江山,直接继承江山)

PROPAGATION_SUPPORTS

含义

支持当前事务,如果不存在,就不使用事务 

方法运行的所需环境

外围方法可不添加任何注解,亦可添加任何注解(有江山,直接继承江山;没有,不勉强)

PROPAGATION_MANDATORY

含义

支持当前事务,如果不存在,抛出异常 

方法运行的所需环境

外围方法必须保证能够在事务中运行(有江山,直接继承江山;没有,则发起叛乱)

PROPAGATION_REQUIRED_NEW

含义

如果有事务存在,挂起当前事务,创建一个新的事务

方法运行的所需环境

外围方法可不添加任何注解,亦可添加任何注解(无论有无江山,自己都要打江山)

PROPAGATION_NOT_SUPPORTED

含义

以非事务方式运行,如果有事务存在,挂起当前事务 

方法运行的所需环境

外围方法可不添加任何注解,亦可添加任何注解(有江山,直接放弃江山;没有,则正好)

PROPAGATION_NEVER

含义

以非事务方式运行,如果有事务存在,抛出异常 

方法运行的所需环境

外围方法必须保证不在事务中运行(有江山,内部发起叛乱,颠覆江山;没有,则正好)

PROPAGATION_NESTED

含义

如果当前事务存在,则嵌套事务执行,外部事务回滚,内部事务也跟着回滚,内部事务回滚,外部事物不一定回滚

方法运行的所需环境

外围方法可不添加任何注解,亦可添加任何注解

参考文章