`

JavaEE事务简介

阅读更多

 

作者:狂放不羁
网址:http://yuquan-nana.iteye.com

>>>转载请注明出处!<<<

事务在企业应用系统开发中占据着非常重要的作用,它可以确保一组对资源操作的原子性,并且事务具有ACID属性。先说说两种最常见的事务模型,它们是平面(Flat)事务和嵌入式(Nested)事务。平面事务是由一系列的原子性的操作构成,这些操作一起组成了单个工作单元。而嵌入式事务容许将原子性的工作单元嵌入到其它的工作单元中,并且对于嵌入式事务来说,嵌入的子事务即使回滚了,也不会引起外层事务的回滚。但是当前的EJB规范没有对嵌入式事务做出具体的要求,因此EJB的事务管理器只支持平面事务。下面就具体总结一下J2EE中的两种平面事务:

 

1 JDBC事务。JDBC事务相对来说,比较容易理解。既然是JDBC,那么它的底层事务是通过数据库的事务来实现的。

 

2 分布式JTA事务。JTA事务对分布式的应用系统提供了事务功能。它的底层通过JTS提供的接口来实现。对于我们应用开发者来说,只需要熟悉JTA接口就OK了。JTA provider可以作为一个独立的组件存在,也可以嵌入到具体的J2EE 应用服务器。对于JTA事务,需要理解一下几个概念:

 

  1)事务管理器。事务管理器负责协调具体的资源管理器来完成事务控制。

  2)资源管理器。资源管理器具体来说就是各种驱动程序,对于数据库来说,就是具体的JDBC驱动程序。

  3)事务性的资源。数据库,JMS队列,遗留系统等。

  4)两阶段提交协议(2PC)。2PC对于JTA事务来说相当的重要。2PC的实现非常复杂,简单点来说就是:第一个阶段准备事务的提交,第二个阶段:如果第一个阶段所有的资源管理器都容许提交,那么就提交事务,如果有一个资源管理不同意提交的化,则回滚事务。

 

理解了以上的几个概念后,还需要了解一下几个接口,这几个接口在JTA中也是非常重要的。总结如下:

 1)javax.transaction.xa.XAResource.JTA provider通过此接口与支持X/OPEN 标准的资源管理器通信。(比如支持XA接口的JDBC驱动程序)

 2)javax.transaction.TransactionManager.JTA provider通过此接口实现与J2EE application server的通信。

 3)javax.transaction.UserTransaction。此接口对于我们应用开发者来说最重要。它提供了begin(),commit(),rollback()等操作事务的方法。

 

以上是事务的一些基础的概念,等理解了它们以后,就可以开始事务在J2EE具体应用之旅了。

2
0
分享到:
评论

相关推荐

    JavaEE spring事务操作环境和基本功能搭建

    JavaEE spring事务操作环境和基本功能搭建

    JavaEE的Spring JDBC与事务管理 实验

    3、了解Spring事务管理的3个核心接口; 4、了解Spring事务管理的两种方式; 5、掌握基于XML和Annotation的声明式事务管理的使用。 二、 实验内容 1、在MySQL中创建以下三张表,其中account为账户表,book为书籍信息...

    JavaEE spring半自动bean管理事务案例

    JavaEE spring半自动bean管理事务案例

    基于JavaEE的学生会服务与事务管理系统.zip

    本资源是基于JavaEE的学生会服务与事务管理系统,可用于期末大作业的学习借鉴!

    JavaEE5学习笔记01-JTA和数据库事务

    JavaEE5学习笔记01-JTA和数据库事务.

    实验 spring 声明事务

    Java高级编程 实验报告 spring 声明事务 实验目的 掌握spring 声明式事务管理配置 实验环境 本实验采用本实验采用的eclipse或者 Myeclpse开发工具。Spring 4.0以上 Jdk1.7以上、oracle/mysql。

    千锋JavaEE精讲之Spring框架实战教程

    课程简介:  这门课程主要讲Spring的核心概念和基本使用。涉及IoC、DI、AOP、JdbcTemplate和事务管理等核心概念。同时讲解了xml和注解两种方式使用Spring的示例。  通过Spring的入门程序介绍了Spring的...

    EJB与事务 -详细描述EJB和事务

    EJB与事务-详细描述EJB和事务,是javaEE初学者的好材料

    javaee jts规范中文版

    javaee jts规范中文版提供应用和应用服务器控制事务的范围和持续时间的能力 允许多个应用组件执行单个,原子事务的一部分工作 提供将全局事务与事务性资源执行的工作关联在一起的能力 协调跨多个资源管理器的全局事务...

    JavaEE_02_MySQL进阶.md

    3.1 事务简介 3.2 MySql的事务管理【理解】 3.3 事务特性和并发问题【重点】 1. 事务的四大特性ACID 2. 事务的并发问题 3. 如何解决并发问题:设置隔离级别 4.备份和恢复 5.数据库范式【了解】

    javaee-jdbc

    javaee-jdbc,jdbc 编程,事务控制和回滚

    Spring JDBC与事务管理

    javaEE 实验三 Spring JDBC与事务管理, 一、实验目的 1、掌握Spring JDBC的配置; 2、掌握JdbcTemplae类中增删改查方法的使用; 3、了解Spring事务管理的3个核心接口; 4、了解Spring事务管理的两种方式; 5、掌握...

    基于SSM的班级事务管理系统 Javaee项目 ssm项目

    资源详情:https://blog.csdn.net/2302_78191516/article/details/136666525

    JavaEE AOP源码

    在JavaEE中最常见的莫过于事务控制, 使得程序员只需关注核心业务逻辑,而无需关注事务相反非业务而又必须要的代码。 切面的主要组件有: 1、切面(@Aspect)。 2、切点(@Pointcut)、 3、通知方法(@Advise),...

    JavaEE-SSH-Template-master.zip

    javaEE+SSH框架模板项目 1. 测试Spring注解 测试注解 2. 测试自动建表 测试自动建表 3. 测试事务 测试事务 4. 测试分页 测试分页 ####其他信息

    JavaEE开发的颠覆者SpringBoot实战[完整版].part1

    《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part2

    《JavaEE开发的颠覆者: Spring Boot实战》从Spring 基础、Spring MVC 基础讲起,从而无难度地引入Spring Boot 的学习。涵盖使用Spring Boot 进行Java EE 开发的绝大数应用场景,包含:Web 开发、数据访问、安全控制...

    JavaEE企业级开发的面试题汇总

    JavaEE企业级开发的面试题汇总,内容包含了: 1.Java基础:JAVASE面试题 2.框架试题:springmvc,spring,mybatis,springdata,springboot,springcolud等企业级开发中常见到的面试题 3.数据库:有关MYSQL数据库的面试题...

    JavaEE DBUtil结合ThreadLocal的一个案例

    JavaEE DBUtil结合ThreadLocal的一个案例

    Java/JavaEE 学习笔记

    1、html简介...........198 2、动态网页开发技术......................199 3、html的基本构成..........................199 4、HTTP-EQUIV...200 5、html的标签.......202 6、CSS...................205 ...

Global site tag (gtag.js) - Google Analytics