java事务学习
JordanInShenzhen
这个作者很懒,什么都没留下…
展开
-
java事务学习笔记(三)--丑陋的案例
在本系列的上一篇文章中,我们看到了一个典型的事务处理失败的案例,其主要原因在于,service层和各个DAO所使用的Connection是不一样的,而JDBC中事务处理的作用对象正是Connection对象,所以不同DAO中的操作不在同一个事务里面,从而导致事务失败。从中我们得出了教训:要避免这种失败,我们可以使所有操作共享一个Connection对象,这样应该就没有问题了。 请通原创 2016-03-26 19:33:47 · 594 阅读 · 0 评论 -
java事务学习笔记(一)--概要
最近学习java事务,看到一位前辈的系列博客不错,转载过来作为记录转载地址:http://www.davenkin.me/post/2013-02-16/40048284001 (一)Java事务处理的基本问题 (二)失败的案例 (三)丑陋的案例 (四)成功的案例(自己实现一个线程安全的TransactionManager)原创 2016-03-25 12:46:36 · 807 阅读 · 0 评论 -
java事务学习笔记总结
一、什么是JAVA事务 通常的观念认为,事务仅与数据库相关。 事务必须服从ISO/IEC所制定的ACID原则。ACID是原子性(atomicity)、一致性(consistency)、隔离性 (isolation)和持久性(durability)的缩写。事务的原子性表示事务执行过程中的任何失败都将导致事务所做的任何修改失效。一致性表示 当事务执行失败时,所有被该事务影响原创 2016-03-28 22:33:27 · 2296 阅读 · 1 评论 -
java事务学习笔记(九)--深度剖析JTA原理与实现
通过本系列对java事务的学习,对事务的概念有了初步的了解,但是互联网的发展一日千里,数据量更是爆炸性增长,而普通数据库也越来越成为应用系统的性能瓶颈,分布式数据库应运而生,相应的,java分布式事务JTA(Java Transaction API)也在这种背景下产生了。有幸拜读了IBM developersWorks深度好文,加上自己的一些理解分享给各位看官,仅供大家互相交流学习原创 2016-03-28 21:14:42 · 2290 阅读 · 0 评论 -
java事务学习笔记(八)--分布式事务入门例子(Spring+JTA+Atomikos+Hibernate+JMS)
在本系列先前的文章中,我们主要讲解了JDBC对本地事务的处理,本篇文章将讲到一个分布式事务的例子。 请通过以下方式下载github源代码:git clone https://github.com/davenkin/jta-atomikos-hibernate-activemq.git 本地事务和分布式事务的区别在于:本地事务只用于处理单一数据源事务(比如单个数据转载 2016-03-27 16:43:37 · 829 阅读 · 0 评论 -
java事务学习笔记(七)--像Spring一样使用Transactional注解(Annotation)
在本系列的上一篇文章中,我们讲到了使用动态代理的方式完成事务处理,这种方式将service层的所有public方法都加入到事务中,这显然不是我们需要的,需要代理的只是那些需要操作数据库的方法。在本篇中,我们将讲到如何使用Java注解(Annotation)来标记需要事务处理的方法。 这是一个关于Java事务处理的系列文章,请通过以下方式下载github源代码:git clo转载 2016-03-27 15:20:04 · 610 阅读 · 0 评论 -
java事务学习笔记(六)--使用动态代理(Dynamic Proxy)完成事务
在本系列的上一篇文章中,我们讲到了使用Template模式进行事务管理,这固然是一种很好的方法,但是不那么完美的地方在于我们依然需要在service层中编写和事务处理相关的代码,即我们需要在service层中声明一个TransactionTemplate。在本篇文章中,我们将使用Java提供的动态代理(Dynamic Proxy)功能来完成事务处理,你将看到无论是在service层还是DAO层转载 2016-03-27 14:20:22 · 679 阅读 · 0 评论 -
java事务学习笔记(五)--Template模式
在本系列的上一篇文章中,我们讲到了使用TransactionManger和ConnectionHolder完成线程安全的事务管理,在本篇中,我们将在此基础上引入Template模式进行事务管理。 这是一个关于Java事务处理的系列文章,请通过以下方式下载github源代码:git clone https://github.com/davenkin/java_transact转载 2016-03-27 00:49:06 · 525 阅读 · 0 评论 -
java事务学习笔记(四)--成功的案例(自己实现一个线程安全的TransactionManager)
在本系列的上一篇文章中我们讲到,要实现在同一个事务中使用相同的Connection对象,我们可以通过传递Connection对象的方式达到共享的目的,但是这种做法是丑陋的。在本篇文章中,我们将引入另外一种机制(ConnectionHolder)来完成事务管理。 这是一个关于Java事务处理的系列文章,请通过以下方式下载github源代码:git clone https://转载 2016-03-26 20:23:55 · 879 阅读 · 0 评论 -
java事务学习笔记(二)--失败案例
在本系列的上一篇文章中,我们讲到了Java事务处理的基本问题,并且讲到了Service层和DAO层,在本篇文章中,我们将以BankService为例学习一个事务处理失败的案例。请通过以下方式下载github源代码:git clone https://github.com/davenkin/java_transaction_workshop.git Ban原创 2016-03-25 13:37:45 · 518 阅读 · 0 评论 -
Spring学习笔记(四)-- Spring事务全面分析
通过本系列的文章对Spring的介绍,我们对Spring的使用和两个核心功能IOC、AOP已经有了初步的了解,结合我个人工作的情况,由于项目是金融系统,那对事务的控制是必不可少的,并且是非常严格的控制。根据我对项目的研究,它在管理模块用的是JTA的事务,而在交易模块用的是JDBC的事务,但是,所有的这些事务的使用,都是用Spring封装后的编程式事务。我在看完《Spring In Ac原创 2016-04-17 17:03:53 · 4432 阅读 · 0 评论