spring PROPAGATION

PROPAGATION_REQUIRED

Support a current transaction; create a new one if none exists.

支持一个当前事务;如果不存在,创建一个新的。

This is typically the default setting of a transaction definition, and typically defines a transaction synchronization scope.

默认设置,后面的不懂

PROPAGATION_SUPPORTS

Support a current transaction; execute non-transactionally if none exists.

支持当前事务;如果不存在当前事务则执行非事务。

PROPAGATION_NOT_SUPPORTED

Do not support a current transaction; rather always execute non-transactionally.

不执行当前事务;而是总是执行非事务

PROPAGATION_REQUIRES_NEW

Create a new transaction, suspending the current transaction if one exists.

创建一个新的事务,如果存在当前事务的话暂停(挂起)当前事务 。

PROPAGATION_NESTED

Execute within a nested transaction if a current transaction exists

如果当前存在事务的话,执行一个嵌套的事务

PROPAGATION_NEVER

Do not support a current transaction; throw an exception if a current transaction exists.

不支持当前事务;如果存在当前事务则抛出一个异常

PROPAGATION_MANDATORY

Support a current transaction; throw an exception if no current transaction exists.

支持当前事务;如果不存在当前事务则抛出一个异常

时间: 2024-08-02 09:25:01

spring PROPAGATION的相关文章

Spring AOP propagation七种属性值

<!-- 配置事务通知 --> <tx:advice id="advice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="insert*" propagation="REQUIRED" rollback-for="Exception"/> <tx:m

[原理][来源解析]spring于@Transactional,Propagation.SUPPORTS,以及 Hibernate Session,以及jdbc Connection关联

Spring 捆绑Hibernate. 夹: 一.  1. Spring 怎样处理propagation=Propagation.SUPPORTS? 2. Spring 何时生成HibernateSession ? 3.  propagation=Propagation.SUPPORTS和propagation=Propagation.require对生成Session有何影响,共同点和差别 ? 3.1. 未配置@Transaction和 配置@Transaction(propagation=P

[原理][源代码解析]spring中@Transactional,Propagation.SUPPORTS,以及 Hibernate Session,以及jdbc Connection关系---转载

问题: 一. 1. Spring 如何处理propagation=Propagation.SUPPORTS? 2. Spring 何时生成HibernateSession ? 3. propagation=Propagation.SUPPORTS 和propagation=Propagation.require对生成Session有何影响 ? 共同点:都会进入aspect切面处理, 试图新建Session,开启Transaction ,都能获得.TransactionStatus 区别: 前者成

Spring 声明式事务,propagation属性列表及isolation(隔离级别)

Spring 声明式事务,propagation属性列表 TransactionDefinition接口中定义,共有7种选项可用: PROPAGATION_REQUIRED:支持当前事务,如果当前没有事务,就新建一个事务.这是最常见的选择.PROPAGATION_SUPPORTS:支持当前事务,如果当前没有事务,就以非事务方式执行.PROPAGATION_MANDATORY:支持当前事务,如果当前没有事务,就抛出异常.PROPAGATION_REQUIRES_NEW:新建事务,如果当前存在事务,

spring aop中的propagation的7种配置的意思

1.前言. 在声明式的事务处理中,要配置一个切面,即一组方法,如 Java代码   <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED" />

Spring学习记录[email&#160;protected] Propagation

起因 学习Spring的时候就知道aop有一个应用是声明式注解..反正往Service上一丢@Transactional就完事了..不用自己去开启hibernate的session,很简单. 但是@Transactional里有很多属性一直没有用过...其中最让我在意的便是Propagation属性...其他属性都还是蛮好理解的..但是这个属性一直不怎么懂,也一直没怎么去研究.. 大部分情况下的确是使用@Transactional不用额外设置就OK了.因为默认的Propagation是Propa

Spring Transaction属性之Propagation

Spring Transaction中有一个很重要的属性:Propagation.主要用来配置当前需要执行的方法,与当前是否有transaction之间的关系. 我晓得有点儿抽象,这也是为什么我想要写这篇博客的原因.看了后面的例子,大家应该就明白了. 一.Propagation取值: REQUIRED(默认值):在有transaction状态下执行:如当前没有transaction,则创建新的transaction: SUPPORTS:如当前有transaction,则在transaction状

Spring事务管理中@Transactional的propagation参数

所谓事务传播性,就是被调用者的事务与调用者的事务之间的关系.举例说明. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 //in A.java Class A {     @Transactional(propagation=propagation.REQUIRED)     public void aMethod {         B b = new B();         b.bMethod();     } } //in B.java Class B {     @T

spring AOP propagation

1.前言 在声明式的事物中,要配置一个切面,即一组方法,如: <tx:advice id ="txAdvice" transaction-manager="txManager"> <tx:atrributes> <tx:method name="find" read-only propagation="NOT-SUPPORTED"/> </tx:atrributes> </