spring声明式事务(三)
来源:互联网 发布:卡卡西实力如何知乎 编辑:程序博客网 时间:2024/06/06 00:59
getPropagationBehavior () 返回事务的传播行为,由是否有一个活动的事务来决定一个事务调用。 在 TransactionDefinition 接口中定义了七个事务传播行为:
l PROPAGATION_REQUIRED 如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。 使用 spring 声明式事务, spring 使用 AOP 来支持声明式事务,会根据事务属性,自动在方法调用之前决定是否开启一个事务,并在方法执行之后决定事务提交或回滚事务。 单独调用 methodB 方法 相当于 Spring 保证在 methodB 方法中所有的调用都获得到一个相同的连接。在调用 methodB 时,没有一个存在的事务,所以获得一个新的连接,开启了一个新的事务。 单独调用 MethodA 时,在 MethodA 内又会调用 MethodB. 执行效果相当于 调用 MethodA 时,环境中没有事务,所以开启一个新的事务 . 当在 MethodA 中调用 MethodB 时,环境中已经有了一个事务,所以 methodB 就加入当前事务。
l PROPAGATION_SUPPORTS 如果存在一个事务,支持当前事务。如果没有事务,则非事务的执行。但是对于事务同步的事务管理器, PROPAGATION_SUPPORTS 与不使用事务有少许不同。 单纯的调用 methodB 时, methodB 方法是非事务的执行的。 当调用 methdA 时 ,methodB 则加入了 methodA 的事务中 , 事务地执行。
l PROPAGATION_MANDATORY 如果已经存在一个事务,支持当前事务。如果没有一个活动的事务,则抛出异常。 当单独调用 methodB 时,因为当前没有一个活动的事务,则会抛出异常 throw new IllegalTransactionStateException("Transaction propagation ''mandatory'' but no existing transaction found"); 当调用 methodA 时, methodB 则加入到 methodA 的事务中,事务地执行。
- spring声明式事务(三)
- Spring框架事务管理之三:Spring声明式事务
- spring声明式事务
- Spring---声明式事务
- Spring声明式事务
- Spring声明式事务
- spring 声明式事务
- 声明式事务 spring
- Spring声明式事务
- Spring声明式事务
- spring 声明式事务
- Spring声明式事务
- Spring 声明式事务
- Spring声明式事务
- Spring声明式事务
- spring声明式事务
- Spring声明式事务
- Spring声明式事务
- Backus–Naur Form
- JSP重定向和转发
- 计算完美HASH
- spring声明式事务(一)
- spring声明式事务(二)
- spring声明式事务(三)
- java虚拟机CPU占用率过高排查方法
- spring声明式事务(四)
- spring声明式事务(五)
- spring声明式事务(六)
- Ant的报错。
- obj 文件格式
- 万年日历(转)
- Android WebView删除缓存