关闭

解惑 spring 嵌套事务

解惑 spring 嵌套事务  /**    * @author 王政    * @date 2006-11-24    * @note 转载请注明出处    */     在所有使用 spring 的应用中, 声明式事务管理可能是使用率最高的功能了, 但是, 从我观察到的情况看,  绝大多数人并不能深刻理解事务声明中不同事务传播属性配置的的含义, 让我们来看一下 Trans...
阅读(164) 评论(0)

Spring Transaction详解 - Transaction Propagation模式

相关文档:Spring官方文档,Javadoc 相关代码:github 在Spring官方文档中只对三种Transaction Propagation模式做了说明: Required RequiresNew Nested 并没有对另外四种做说明: SUPPORTS MANDATORY NOT_SUPPORTED NEVER ...
阅读(138) 评论(0)

spring 嵌套事务(Nested Transaction) 和新建事务测试

查询Nested Transaction细节时,经典例子 serviceA 调用 serviceB,当SeviceB事务传播属性为NESTED时,serviceA 只要catch住了Exception就能保证调用serviceB之前的操作提交而不受ServiceB异常的影响,但是如果 REQUIRES_NEW时,serviceA和serviceB相对独立,serviceB有异常会不影响...
阅读(120) 评论(0)

SPRING 事务控制 (PROPAGATION_NESTED)

在 SPRING 中一共定义了六种事务传播属性 PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS -- 支持当前事务,如果当前没有事务,就以非事务方式执行。 PROPAGATION_MANDATORY -- 支持当前事务,如果当前没有事务,就抛出异常。 PROPAGATION_REQ...
阅读(118) 评论(0)

关于分布式事务、两阶段提交、一阶段提交、Best Efforts 1PC模式和事务补偿机制的研究

http://blog.csdn.net/bluishglc/article/details/7612811 本文原文连接: http://blog.csdn.net/bluishglc/article/details/7612811 ,转载请注明出处! 1.XA XA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管...
阅读(306) 评论(0)

Spring分布式事务- 三种实现方式(Spring+JTA)

分布式事务是指事务的参与者、支持事务的服务器、资源管理器以及事务管理器分别位于分布系统的不同节点之上,在两个或多个网络计算机资源上访问并且更新数据,将两个或多个网络计算机的数据进行的多次操作作为一个整体进行处理。如不同银行账户之间的转账。 对于在项目中接触到JTA,大部分的原因是因为在项目中需要操作多个数据库,同时,可以保证操作的原子性,保证对多个数据库的操作一致性。  项目结构图  1...
阅读(3837) 评论(0)

Spring+iBatis+Atomikos实现JTA事务

Spring+iBatis+Atomikos实现JTA事务   Atomikos是一个公司名字,旗下最著名的莫过于其Atomikos的事务管理器产品。   产品分两个:一个是开源的TransactionEssentials,一个是商业的ExtremeTransactions。   TransactionEssentials的主要特征: JTA/XA 事务管...
阅读(432) 评论(0)

数据库(Hibernate)事务与并发问题处理(乐观锁与悲观锁)

目录 一、数据库事务的定义 二、数据库事务并发可能带来的问题 三、数据库事务隔离级别 四、使用Hibernate设置数据库隔离级别 五、使用悲观锁解决事务并发问题 六、使用乐观锁解决事务并发问题     Hibernate事务与并发问题处理(乐观锁与悲观锁) 一、数据库事务的定义   数据库事务(Database Transaction)...
阅读(666) 评论(0)

两种丢失更新的区别

第一类丢失更新      A事务撤销时,把已经提交的B事务的更新数据覆盖了。这种错误可能造成很严重的问题,通过下面的账户取款转账就可以看出来: 时间 取款事务A 转账事务B T1 开始事务   T2   开始事务...
阅读(2039) 评论(1)

spring源码分析之——spring 事务管理实现方式 (不太清晰,不明白aop会看不懂)

注意:这里只是分析spring事务的实现方式。也就是spring的事务管理是怎么发生作用的,而不分析具体的实现细节(细节将在下一篇里面分析).  转载:http://michael-softtech.iteye.com/blog/813835 紧接着上一篇提到的,Spring是通过NameSpaceHandler来解析配置文件中的标签的。下面就已事务的配置为例,讲述一下 事务配置...
阅读(1218) 评论(0)

关于AOP无法切入同类调用方法的问题

最近在开发中遇到一个问题,当在Service中定义了一个方法并且切入之后,从Controller里面调用该方法可以实现切入,但是当在同一个Service中实现另一方法并调用改方法时却无法切入。代码类似于: /** * Controller 你懂的 */ public class Ctrl { public void ctrl() { ...... service.callMethodA()...
阅读(6566) 评论(3)

死锁及oracle死锁

所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。 由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。 关于数据库死锁的检查方法 一...
阅读(932) 评论(0)

数据库事务隔离级别

并发问题可归纳为以下几类:   A.丢失更新:撤销一个事务时,把其他事务已提交的更新数据覆盖(A和B事务并发执行,A事务执行更新后,提交;B事务在A事务更新后,B事务结束前也做了对该行数据的更新操作,然后回滚,则两次更新操作都丢失了)。 B.脏读:一个事务读到另一个事务未提交的更新数据(A和B事务并发执行,B事务执行更新后,A事务查询B事务没有提交的数据,B事务回滚,则A事务得到的数据不...
阅读(555) 评论(0)

关于hibernateTemplate和jdbcTemplate的是否共享事务的说明

1、hibernateTemplate 与 jdbcTemplate 事务为共享。 2、但hibernate中的HQL方法,比如save update等 ,若不调用flush(),则数据只存在于缓冲区,未提交到数据库中,此时事务并未提交, 故共享事务中的 jdbctemplate无法查询到该数据;调用flush后,数据也可以共享。举例如下: 1、hibernateTemplate.save(...
阅读(1531) 评论(0)

Spring的事务管理难点剖析(5):联合军种作战的混乱

Spring事务管理器的应对     Spring抽象的DAO体系兼容多种数据访问技术,它们各有特色,各有千秋。像Hibernate是非常优秀的ORM实现方案,但对底层SQL的控制不太方便;而iBatis则通过模板化技术让你方便地控制SQL,但没有Hibernate那样高的开发效率;自由度最高的当然是直接使用Spring JDBC了,但它也是底层的,灵活的代价是代码的繁复。很难说哪种数据...
阅读(973) 评论(0)
34条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:8242323次
    • 积分:70059
    • 等级:
    • 排名:第26名
    • 原创:256篇
    • 转载:2742篇
    • 译文:3篇
    • 评论:735条
    文章分类
    最新评论