1.声明式事物中,一个类serviceA的方法test1()调用另一个类serviceB的方法test2() 要是serviceB的test2()事务配置在xml文件中为REQUIRED,又在此方法上加入@Transactional(propagation = Propagation.NOT_SUPPORTED)则serviceB.test2()的以xml中为主,NOT_SUPPORTED就不起作用了。如果方法没在xml上配置REQUIRED,则会起作用。

如果是在同一类中调用另一方法test2上加 Propagation.NOT_SUPPORTED ,则test2()的PROPAGATION_NOT_SUPPORTED失效

2.如果一个类中一个方法test1()调用此类的另一方法test2(),都是required,要是test2抛异常的话,若test1不catch,则都会回滚,或test1方法catch了异常,则两个方法都会提交
3.如果一个类中一个方法test1()调用另一个类的方法test2(),都是required,要是test2抛异常的话,若test1不catch,则都会回滚,或test1方法catch了异常,则仍然回滚 注意:其中test1不能是在声明事务中包括的方法 如果包括在里面则以声明中的为主
4.如果声明式事务切面配置方法名为*的事务 为SUPPORTS,一个类test1默认调另一个类test2 REQUIRED,若test2出异常,则两个方法都回滚 感觉test1方法默认为SUPPORTS时 另一个类test2为REQUIRED、REQUIRES_NEW时都自动变为REQUIRED了
5.如果声明式事务切面配置方法名为*的事务 为NOT_SUPPORTED,一个类test1默认调另一个类test2 REQUIRED,若test2出异常,则test2回滚,test1提交
6.如果声明式事务切面配置方法名为*的事务 为SUPPORTS,一个类test1默认调另一个类test2 REQUIRED,在test1方法前加入@Transactional(propagation = Propagation.SUPPORTS) 若test2出异常,则test2回滚,test1提交


转:http://8917152.blog.51cto.com/8907152/1544254
http://www.cnblogs.com/tianyuchen/p/6678084.html Spring事务回滚和异常类
http://blog.csdn.net/lfsf802/article/details/9417095

spring 事务的传播特性的更多相关文章

  1. Spring事务的传播特性和隔离级别

    事务的几种传播特性1. PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务.如果没有事务则开启2. PROPAGATION_SUPPORTS: 如果存在一个事务,支持当前事务 ...

  2. 关于事务,事务的特性,spring事务的传播特性

    1.什么是事务: 事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败). 2.事务特性: 事务特性分为四个:原子性(At ...

  3. spring事务的传播特性

    所谓事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播.Spring 支持 7 种事务传播行为: PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在 ...

  4. Spring事务的传播行为 @Transactional(转)

    Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例 ...

  5. Spring事务的传播行为 @Transactional

    Spring事务的传播行为http://blog.csdn.net/cuker919/article/details/5957209 在service类前加上@Transactional,声明这个se ...

  6. 什么是事务?事务的四个特性(ACID)?并发事务带来哪些问题?事务隔离级别都有哪些?事务的传播特性

    什么是事务? 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消.也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做. 事物的四个 ...

  7. 数据库的特性与隔离级别和spring事务的传播机制和隔离级别

    首先数据库的特性就是 ACID: Atomicity 原子性:所有事务是一个整体,要么全部成功,要么失败 Consistency 一致性:在事务开始和结束前,要保持一致性状态 Isolation 隔离 ...

  8. spring事务的传播性

    <!--配置事务传播特性 --><tx:advice id = "txAdvice" transaction-manager = "txManage&q ...

  9. Spring事务的传播行为分析

    前言 最近项目有涉及到Spring事务,所以工作之余,想认真了解学习下Spring事务,查阅了若干资料,做了一个demo(PS:参考了大牛的). 现分享总结如下: 1.Spring 事务的简介 理解事 ...

随机推荐

  1. Linux下 MYSQL 主从复制、同步

    mysql从3.23.15版本以后提供数据库复制功能.利用该功能可以实现两个数据库同步,主从模式(A->B),互相备份模式(A<=>B)的功能. 主从模式(A->B)的配置过程 ...

  2. [Z]haproxy+keepalived高可用群集

    http://blog.51cto.com/13555423/2067131 Haproxy是目前比较流行的一种集群调度工具Haproxy 与LVS.Nginx的比较LVS性能最好,但是搭建相对复杂N ...

  3. 更换Grade源为阿里云解决下载慢问题

    作为程序员,即写的了代码也得翻得上围墙. 现在包管理工具(Maven/grade)的便捷性让人大快朵颐,再也不需要到处找jar包. 如果你没梯子又苦苦无法加快下载速度,不如按照以下设置一下. 对单个项 ...

  4. c#dev tabcontrol 与嵌套gridcontrol 总结

    Gridcontrol设置 1: 拖进去的时候别拖到tabcontrol外边, 否则dock 停靠的时候,停靠错了地方. 2:去掉Drag a column header here to group. ...

  5. PAT 甲级 1019 General Palindromic Number(20)(测试点分析)

    1019 General Palindromic Number(20 分) A number that will be the same when it is written forwards or ...

  6. 详解php多人开发环境原理

    作为一名php开发人员,有时候一个项目或一个功能我们不能独自完成,就像当一个仓库开发人员大于1,20人的时候,每个人可能开发不同的模块和功能,用代码版本控制工具比如 git 开不同的分支,流程大概是先 ...

  7. vim窗口切换

    参考资料: http://www.cnblogs.com/litifeng/p/8282479.html 当用vim写代码的时候,我喜欢一边看着头文件中结构的定义,一边编写实现的代码,这样就经常用到多 ...

  8. [Hbase]Hbase技术方案

    HBase架构简介 HBase在完全分布式环境下,由Master进程负责管理RegionServers集群的负载均衡以及资源分配,ZooKeeper负责集群元数据的维护并且监控集群的状态以防止单点故障 ...

  9. jmeter脚本录制的两种方式

    完成一次完整的性能测试: 1.创建用户: 2.选择协议(HTTP) 3.使用工具去模拟协议操作(1.手工编写(抓包工具):2.工具自带录制) 4.运行工具进行压力测试

  10. HttpURLConnection 返回汉字乱码(全是问号)

    public static String doPost(String urlStr, Map<String, Object> paramMap) throws Exception { UR ...