1.什么是事务
为了保证数据的一致性
begin transaction
debit checking account
credit
saving account
update history log
end trasaction
其中任意的三个操作要么都执行,要么都不执行,否则就不能保证数据的一致性。
2.容器管理的事务
在容器管理的enterprise bean, EJB 容器设置事务的边界。容器管理的事务可以被
用到任何类型的bean(session
bean,entity bean,message-driven bean)。容器管理事务
可以简化开发,开发中无需明确包含开启事务和关闭事务代码。
容器事务在bean方法调用前开启,在bean方法结束前结束。一个方法是不能嵌套事务和
包含多个事务。
不是所有的bean方法都要求是事务管理的,在部署bean时我们可以通过设置事务的属性
配置哪些方法是不容器事务管理的。
2.1 如果对象A的a方法调用对象B的b方法,如果a方法属于事务,那么b方法是再开启个新事务
还是在原来的事务中呢?这个依赖于对象B的事务属性设置。
Required : 当一个方法被客户调用,这个客户在事务中运行,那么这个方法也在事务
中运行,否则容器会在这个方法运行前启动事务。
RequiredNew :
容器会始终为这个方法开启一个新的事务,如果客户端是在事务中,那
么容器会悬挂客户端的事务执行,开启一个新的事务为这个方法,等结束后再继续客户端的
事务运行。
Mandatory:bean的方法必须在客户端的事务中运行,否则容器会抛出异常。
NotSupported :如果客户端在事务中运行时调用bean的方法,容器会悬挂事务的执行,
等bean方法执行完后再继续刚才的事务。
Supports : 如果客户端是在事务中运行时调用bean的方法,那么这个方法也在事务中运行,
如果客户端没有在事务中运行,那么容器也不会开启一个事务。
Never :bean的方法不能在事务中运行,否则会抛出异常。<!---->
分享到:
相关推荐
1. **Servlet**:Servlet是JavaEE中最基础的组件之一,用于处理HTTP请求。开发者通常会用它来创建动态网页,接收和响应用户的数据。 2. **JSP(JavaServer Pages)**:JSP是JavaEE中的视图层技术,允许开发者在HTML...
除此之外,JavaEE API还包含了很多其他组件和服务,如JTA(Java Transaction API)、JAF(JavaBeans Activation Framework)、JCA(Java Connector Architecture)等。所有这些组件协同工作,为开发者提供了构建复杂...
6. **JTA(Java Transaction API)**:JavaEE支持分布式事务处理,JTA定义了事务管理的接口,确保在多组件操作中的一致性和完整性。 7. **JSF(JavaServer Faces)**:JSF是一种MVC(Model-View-Controller)框架,...
1. **Servlet**:Servlet是JavaEE中的核心组件之一,它是一个Java类,用于扩展服务器的功能。Servlet可以处理HTTP请求,生成响应,并且能够动态生成网页内容。 2. **JSP(JavaServer Pages)**:JSP是一种基于Java...
1. **Struts**:这是一个基于MVC(Model-View-Controller)设计模式的Java Web框架。它主要负责控制层,通过Action类处理HTTP请求,并调用业务逻辑组件,然后将结果返回给视图。Struts提供了强大的表单验证和国际化...
1. **Servlet 3.1**:这是JavaEE7中用于处理HTTP请求的核心技术,更新了异步处理能力,支持WebSocket协议,以及增强的过滤器和监听器功能。 2. **JSP 2.3**:JavaServer Pages(JSP)提供了动态网页生成的能力,2.3...
在这个“JavaEE作业1”中,我们可以推测这是针对新农大(新疆农业大学)计算机科学与技术102班的一次课程作业,旨在让学生掌握JavaEE的基础知识和实践技能。下面将详细讲解JavaEE的相关知识点。 1. **Servlet**: ...
10. **JTA(Java Transaction API)**:JavaEE 5中的JTA 1.1提供了事务管理的接口和API,确保在多组件交互时的数据一致性。 在这个源码包中,`src`目录可能包含了所有这些组件的实现或示例代码,对于学习和理解...
JavaEE提供了丰富的API和服务器环境,支持Web应用开发,包括Servlet、JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)、JMS(Java Message Service)、JTA(Java Transaction API)等。这些组件协同工作,...
1. **JavaEE概述**:JavaEE是一个开放的标准,由Java社区进程(JCP)管理和维护,它提供了一系列的API和服务,如Servlet、JSP、EJB等,用于构建可扩展、高性能、安全的服务器端应用。 2. **核心组件**: - **...
JTA(Java Transaction API)则是JavaEE提供的事务管理规范,它定义了如何在一个分布式环境中管理事务的开始、提交、回滚等操作。在多组件协作的复杂应用中,JTA确保了数据的一致性和完整性。 在开发过程中,如果...
1. **注解驱动开发(Annotations)**:JavaEE 5大量使用注解来替代XML配置,使得代码更加简洁,如`@EJB`用于注入Enterprise JavaBean,`@WebService`用于声明Web服务等。 2. **Java Persistence API (JPA)**:JPA是...
7. **JTA(Java Transaction API)**:JavaEE支持事务管理,JTA定义了如何在分布式环境中处理事务的一致性和隔离性。在简单项目中,可能涉及到单个数据库的本地事务管理。 8. **MVC架构模式**:模型-视图-控制器...
1. **MVC模式**:Model-View-Controller模式是JavaEE中常见的设计模式,用于分离业务逻辑、数据模型和用户界面。在JavaEE中,例如Struts、Spring MVC等框架实现了这一模式,提高了代码的组织结构和可重用性。 2. **...
1. **Servlet与JSP**:作为JavaEE的基础,Servlet是用于处理HTTP请求的Java类,而JSP(JavaServer Pages)则是一种用于创建动态网页的技术。学生可能会在作业中实现简单的HTTP服务器端交互,如登录验证、表单提交等...
1. **分层架构**:JavaEE的核心概念之一是分层架构,通常包括表现层(Web层)、业务逻辑层(BLL,Business Logic Layer)和数据访问层(DAL,Data Access Layer)。表现层负责用户交互,BLL处理业务逻辑,而DAL则...
1. **Servlet**:Servlet是JavaEE中的核心组件,用于处理HTTP请求。它们可以动态生成Web页面,并且能够处理客户端的请求,向服务器发送响应。 2. **JSP(JavaServer Pages)**:JSP是一种用于创建动态网页的技术,...
1. **Servlet与JSP**:Servlet是JavaEE中最基本的服务器端组件,用于处理HTTP请求。JSP(JavaServer Pages)则是一种视图技术,方便开发者在HTML中嵌入Java代码,实现动态网页。两者结合使用,形成了MVC(Model-View...
1. **EJB 3.0**:企业JavaBeans (EJB)在JavaEE 5.0中进行了重大更新,简化了开发过程,特别是通过引入无容器依赖的注解(如`@Entity`, `@Stateless`, `@PersistenceContext`等),使得EJB更易于使用。实体Bean现在...
8. **JTA(Java Transaction API)1.2** 和 **JTS(Java Transaction Service)1.2**: 提供了分布式事务处理的能力,确保在复杂的多资源环境中数据的一致性。 9. **EJB(Enterprise JavaBeans)3.2 Lite**: 简化了...