Spring源码学习之--事务类型
2012-10-01 00:06
309 查看
Spring事务类型定义在接口 TransactionDefinition 中,有以下事务类型,与EJB类似
传播行为(PROPAGATION)
1) PROPAGATION_REQUIRED : 缺省的事务类型,当前方法如果没有事务,会自动创建事务。
2) PROPAGATION_SUPPORTS :表示当前方法不需要事务性上下文,但是如果有一个事务已经在运行的话,它也可以在这个事务里运行
3) PROPAGATION_MANDATORY :如果当前方法没有事务,将抛出异常
4) PROPAGATION_REQUIRES_NEW: 表示当前方法必须在它自己的事务里运行。一个新的事务将被启动,而且如果有一个现有事务正在运行的话,则将在这个方法运行期间被挂起
5) PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起
6) PROPAGATION_NEVER: 以非事务方式执行,如果当前存在事务,则抛出异常
7) PROPAGATION_NESTED: 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作
传播行为(PROPAGATION)
1) PROPAGATION_REQUIRED : 缺省的事务类型,当前方法如果没有事务,会自动创建事务。
2) PROPAGATION_SUPPORTS :表示当前方法不需要事务性上下文,但是如果有一个事务已经在运行的话,它也可以在这个事务里运行
3) PROPAGATION_MANDATORY :如果当前方法没有事务,将抛出异常
4) PROPAGATION_REQUIRES_NEW: 表示当前方法必须在它自己的事务里运行。一个新的事务将被启动,而且如果有一个现有事务正在运行的话,则将在这个方法运行期间被挂起
5) PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起
6) PROPAGATION_NEVER: 以非事务方式执行,如果当前存在事务,则抛出异常
7) PROPAGATION_NESTED: 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则执行与PROPAGATION_REQUIRED类似的操作
相关文章推荐
- Spring源码学习之bean的prototype和singleton类型
- Spring学习-回滚事务之修改默认回滚类型
- 【spring源码学习】spring的事务管理的源码解析
- 【spring源码学习】spring配置的事务方式是REQUIRED,但业务层抛出TransactionRequiredException异常问题
- 【spring源码学习】spring的aop目标对象中进行自我调用,且需要实施相应的事务定义的解决方案
- spring 源码学习
- Java学习之道:纯Hibernate使用-不用spring事务管理
- 共同学习Java源码--常用数据类型--String(十)
- spring源码学习之路---IOC实现原理(三)
- Spring基础学习(五)—事务管理
- Spring学习之源码build
- Spring容器原理及源码学习
- 【Spring-web】AsyncRestTemplate源码学习_0
- spring事务传播类型
- Spring的四种事务管理(一种编程式事务+三种声明事务)<学习随笔>
- Spring源码学习之IoC
- 共同学习Java源码--常用数据类型--String(六)
- Spring源码学习(一)------ IoC
- 共同学习Java源码--常用数据类型--String(十一)