作者:狂放不羁
网址: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具体应用之旅了。
分享到:
相关推荐
在JavaEE开发中,Spring框架是广泛使用的工具之一,它为开发者提供了许多便利,包括对事务管理的强大支持。本文将详细讲解如何搭建Spring事务操作环境以及实现基本功能。 首先,理解事务(Transaction)的重要性。...
9. **JTA(Java Transaction API)**:处理分布式事务的API,确保在多组件操作中的数据一致性。 10. **JMS(Java Message Service)**:JavaEE的消息传递系统,用于异步通信和解耦应用组件。 这个"javaee大作业...
"JavaEE架构JavaEE的核心技术简介" JavaEE架构是JavaEE平台的核心组件,定义了四种类型的应用组件:Applet客户端、Application客户端、Web组件和EJB组件。JavaEE核心技术包括EJB、CORBA、RMI、JSP、Java Servlet、...
通过解压并分析这个JavaEE Src.zip,开发者可以深入理解JavaEE的架构和工作原理,学习如何使用JavaEE API创建动态Web项目、数据库连接、事务管理、会话管理、安全控制等各种功能。此外,对于初学者,这也能提供一个...
吉林大学软构件和中间件技术
4. **EJB(Enterprise JavaBeans)**:EJB是JavaEE中的核心组件,用于构建分布式、事务处理和多层架构的企业级应用。有三种类型的EJB:Session Beans(会话bean)、Message-driven Beans(消息驱动bean)和Entity ...
3、了解Spring事务管理的3个核心接口; 4、了解Spring事务管理的两种方式; 5、掌握基于XML和Annotation的声明式事务管理的使用。 二、 实验内容 1、在MySQL中创建以下三张表,其中account为账户表,book为书籍信息...
EJB提供了事务处理、安全性和持久化等功能。 ### 3. 教程资源列表解析 从给出的部分内容中,我们可以看到一系列与JAVAEE相关的学习资源链接,包括但不限于: - **J2EE培训视频**:这些资源涵盖了JAVAEE的基本概念...
6. **JTA(Java Transaction API)**:JavaEE支持分布式事务处理,JTA定义了事务管理的接口,确保在多组件操作中的一致性和完整性。 7. **JSF(JavaServer Faces)**:JSF是一种MVC(Model-View-Controller)框架,...
EJB提供了事务管理、安全性、持久性等功能,分为三种类型:会话Bean(Session Beans)、实体Bean(Entity Beans,现在通常使用JPA来替代)和消息驱动Bean(Message-Driven Beans)。 4. **JMS**:Java Message ...
【JavaEE网络工程期末大作业】是一门涵盖了Java企业级应用开发核心技能的课程实践,主要目标是让学生掌握JavaEE平台上的应用程序设计与实现。在这个期末大作业中,学生需要运用所学的知识,构建一个完整的网络工程...
JavaEE,全称为Java Platform, Enterprise Edition,是Java平台针对企业级应用开发的一套标准框架。这个"JAVAEE中文版(最新)"压缩包提供的是JavaEE的中文版API文档,对于那些在学习和开发过程中需要频繁查阅API的...
《基于JavaEE的学生会服务与事务管理系统》是一个典型的Web应用程序,它使用JavaEE技术栈来构建,旨在管理和处理学生会的各项事务。这个系统不仅适用于学习和理解JavaEE平台的开发,也适合用作期末大作业的参考案例...
【JavaEE技术体系详解】 JavaEE,全称为Java Platform, Enterprise Edition,是Oracle公司推出的用于构建企业级Web应用的标准框架。这个平台包含了多种技术,如Servlet、JSP、EJB、JMS、JPA等,旨在简化开发过程,...
在JavaEE应用开发中,Spring框架是不可或缺的一部分,它提供了许多功能,其中之一就是对bean的管理以及事务处理。本案例将深入探讨Spring如何实现半自动的bean管理以及事务控制。 首先,Spring通过依赖注入...
7. **JTA(Java Transaction API)**:JavaEE支持事务管理,JTA定义了如何在分布式环境中处理事务的一致性和隔离性。在简单项目中,可能涉及到单个数据库的本地事务管理。 8. **MVC架构模式**:模型-视图-控制器...
【JAVAEE基础教程实例】 JavaEE,全称Java Platform, Enterprise Edition,是Java平台的企业版,主要用于构建分布式、多层架构的企业级应用。这个基础教程实例由史胜辉编著,旨在帮助初学者快速掌握JavaEE的核心...
8. **JTA 1.2**:Java Transaction API(JTA)处理分布式事务,1.2版本增加了对XA事务的管理,优化了编程模型。 9. **WebSocket 1.0**:JavaEE7引入了WebSocket规范,提供了双向通信的低延迟连接,适用于实时通信...
### JavaEE5学习笔记01-JTA和数据库事务:深入解析与应用 #### 一、JavaEE5概览与核心组件 JavaEE5是Java Enterprise Edition的第五个版本,标志着企业级Java应用的一个重要里程碑。它引入了一系列重要的新特性,...
JTA(Java Transaction API)则是JavaEE提供的事务管理规范,它定义了如何在一个分布式环境中管理事务的开始、提交、回滚等操作。在多组件协作的复杂应用中,JTA确保了数据的一致性和完整性。 在开发过程中,如果...