J2EE组件
J2EE 应用程序由组件构成。一个 J2EE 组件是自包含的,与其相关的语气它组件通信的类及文件集成到 J2EE 应用程序的功能软件单元。J2EE 规范定义了下面一些组件:
。 运行在客户端的应用客户程序及小程序。
。 运行于服务器网络 Servlet&Jsp 组件。
。 运行于服务端的企业逻辑组件 EJB。
容器:
管理着很多不可配置的服务,如企业 Bean 和 Servlet 的生命周期,数据库连接池, 数据持久化机制和 J2EE 平台 API 的访问权等等
J2EE server(J2EE服务器)
J2EE 产品的运行时服务部分。一个 J2EE 服务器提供 EJB 容器(EJB Container)和 Web 容 器(Web Container)。
EJB容器
管理 J2EE 应用程序中企业 Bean 的运行。企业 Bean 和它们的容器在 J2EE 服务其中运行。
Web容器
管理 J2EE 应用程序中 JSP 页面和 Servlet 组件的运行。Web 组件和容器也在 J2EE 服务其中运行
Application client container(应用程序客户端容器) 管理应用程序客户端组件的运行。应用程序客户端和它的容器运行在客户机。
Applet container(Applet容器)
管理 Applet的运行。由在客户端运行的浏览器和 Java 插件组成。
打包J2EE组件
J2EE 应用程序和它的所有模块都被打包到一个 EAR(Enterprise Archive)文件中。EAR 文件是后缀为.ear的标准 JAR(Java Archive)文件, 下面是这些打包文件的描述
EJB JAR 文件包含一个部署描述符文件,企业 Bean 文件和用到的其他文件
应用程序客户端 JAR 文件包含一个部署描述符文件,客户端类文件和其他用到的文件
WAR 文件包含一个部署描述符文件,Web 组件(JSP 和 Servlet)文件和用到的其他文件
一个事务属性可能有下面的属性之一:
required : 必须运行于事务中。如果有事务已在运行,则参与;否则新建事务。
requiredNew:总是创建新的事务,如果以及有事务那么挂起当前事务
mandatory:要求客户端必须启动事务,如果方法没有在事务中,那么抛出异常
NotSupported:不需要事务,如果在一个事务内调用该方法,那么先挂起客户端事务,为不需要事务的方法配制,提高性能
Supports:跟随客户端的事务。如果有事务在运行,则参与;否则不要求运行于事务中。
Never:不能参与到事务中去,如果启动事务,则报异常
JDBC 事务
JDBC 事务通过 DBMS 事务管理器来控制。你可能会为了使用会话 Bean 中的原有代码而采用 JDBC事务将这些代码封装到一个事务中。使用 JDBC 事务,要调用 java.sql.Connection 接口的 commit 和 rollback 方法。事务启动是隐式的。一个事务的从最近的提交、回滚或连接操作后的第一个SQL 的语句开始。(这个规则通常是正确的,但可能 DBMS厂商的不同而不同)
JDBC事务由Connnection管理,也就是说,事务管理实际上是在JDBC Connection中实现。事务周期限于Connection的生命周期之类。同样,对于基于JDBC Transaction的Hibernate 事务管理机制而言,事务管理在Session 所依托的JDBC Connection中实现,事务周期限于Session的生命周期。
JTA事务
JTA 事务被 J2EE 事务管理器管理。你可能需要使用一个 JTA 事务,因为它能够统一操作不同厂商的数据库。一个特定 DBMS的事务管理器不能工作在不同种类的数据库上。然而 J2EE事务管理器仍然有一个限制——它不支持嵌套事务。就是说,它不能在前一个事务结束前启动另一个事务。
JTA 提供了跨Session 的事务管理能力。这一点是与JDBC Transaction 最大的差异。 JTA 事务管理则由 JTA 容器实现,JTA 容器对当前加入事务的众多Connection 进行调度,实现其事务性要求。JTA的事务周期可横跨多个JDBC Connection生命周期,同样对于基于JTA事务的Hibernate而言,JTA事务横跨可横跨多个Session。JTA 事务是由JTA Container 维护,而参与事务的Connection无需对事务管理进行干涉。这也就是说,如果采用JTA Transaction,我们不应该再调用HibernateTransaction功能。
事务状态
事务超时
只有使用容器管理事务的企业 Bean 才会受到 transaction.timeout 属性值的影响。Bean 管理的 JTA事务使用 UserTransaction 接口的 setTransactionTimeout方法来设置事务超时间隔。
隔离级别
隔离程度越高,数据库并发性越差;隔离程度越低,数据库并发性越好。
1Read Uncommited: 将会出现脏读问题。如果不存在并发事务,且只有单个实例处于运行中,则比较适合。
2Read commited: 能解决脏读问题,适用于只需要从RDMBS中读取数据的应用,但不能解决不可重复读。Oracle, SQL Server 默认的级别
3Repeatable Read: 解决Drity Read和Unrepeatable问题
4Serializable: 这个完全串行化独占式操作数据库
分享到:
相关推荐
【标题】"一个小的j2EE项目源码"揭示了这是一个基于Java企业版(Java 2 Platform, Enterprise Edition,简称J2EE)技术构建的软件项目。J2EE是Oracle公司推出的用于开发分布式、多层架构的企业级应用程序的平台。它...
J2EE指南对于广大的Java程序员来说是一份不可或缺的资料了。这篇导论对于初次碰到J2EE的程序员来说有着同样的作用。它与Java指南一样都是一例子为中心。 这篇指南是为爱好开发和部署J2EE应用程序的程序员准备的。它...
J2EE(Java 2 Platform, Enterprise Edition)是一种广泛应用于企业级应用程序开发的平台标准和技术框架。它基于Java SE,并针对大型分布式系统提供了更为丰富的特性和功能。 #### 历史背景 - **成立与发展**:1993...
EJB是J2EE的高级组件,提供了一种标准的方式来实现分布式计算,尤其适合处理复杂的业务逻辑和数据管理。 在J2EE实例中,你会接触到诸如Web层、业务逻辑层(Service层)和数据访问层(DAO层)的分层架构设计。Web层...
Java企业版(J2EE,现称为Java EE)是一个用于构建企业级分布式应用程序的平台,它基于Java技术,提供了一套全面的API和服务。这份"J2EE试题汇总"包含了大量关于J2EE的试题,旨在帮助学习者检验和提升在J2EE领域的...
Java 企业版(Java 2 Platform, Enterprise Edition,简称 J2EE)是 Sun Microsystems 推出的用于构建分布式、多层企业级应用的框架。...理解并掌握这些版本的特性,对于一个Java EE开发者来说至关重要。
J2EE包通常包含一系列的库和技术,这些技术涵盖了从数据库连接、事务处理到Web服务等多个方面。在J2EE应用中,开发者可以利用这些库来构建模块化、可伸缩且易于维护的系统。 **Ant构建工具** 在描述中提到了Ant,...
《J2EE图书管理系统》是一个基于Java企业版(J2EE)技术开发的综合性图书管理应用,旨在提供高效、便捷的图书信息管理服务。这个系统不仅涵盖了基础的图书信息录入、查询、借阅与归还等功能,而且还采用了先进的分页...
J2EE(Java 2 Platform, Enterprise Edition)是一种用于开发企业级应用程序的Java平台。J2EE 体系架构是指基于 J2EE 平台所构建的应用程序架构。 HandsOnJ2EE 体系架构介绍 J2EE 体系架构是由多个组件组成的,...
**第一章:J2EE概述** J2EE的核心是组件模型,它允许开发者将应用分解为独立的、可重用的组件。这些组件可以在服务器上运行,处理业务逻辑、数据存储和用户交互。J2EE架构通常分为客户端层、Web层、业务逻辑层和...
《J2EE架构师手册:如何成为一位成功的J2EE架构》是一本旨在帮助读者快速提升J2EE架构技能的专业指南。J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司提供的一个用于构建企业级分布式应用的平台,它包含...
【J2EE网上购物系统】是一个基于Java企业版(J2EE)技术构建的电子商务平台。J2EE是Oracle公司推出的用于开发分布式、多层应用程序的框架,它提供了丰富的服务和组件模型,使得开发者能够构建可扩展且健壮的网络应用...
EJB 3.0是J2EE 1.5的一部分,引入了注解(Annotations)来简化部署和配置,使得EJB更易用。 5. **JMS(Java Message Service)**: JMS允许应用程序创建、发送、接收和读取消息。在J2EE 1.5中,JMS 1.1规范定义了...
【描述】:“非常简单的J2EE购物车是一个基础的电子商务项目,旨在帮助初学者理解J2EE技术在构建web应用程序时的应用,特别是如何实现一个基本的购物车功能。这个项目可能涵盖了用户登录、商品浏览、添加到购物车、...
J2EE(Java 2 Platform, Enterprise Edition)是一种企业级的Java平台,提供了一系列的API和工具,用于开发企业级的应用程序。J2EE技术包括Servlet、JSP、EJB、JDBC等多种技术,旨在提高企业级应用程序的开发效率和...
【基于J2EE实现的商品管理系统】是一个典型的Java企业级应用案例,主要利用J2EE(Java 2 Platform, Enterprise Edition)框架来构建一个完整的后台管理与前端展示的商品信息系统。这个项目虽小,但对于初学者来说,...
J2EE面试大全(一)J2EE面试大全(一)J2EE面试大全(一)J2EE面试大全(一)J2EE面试大全(一)J2EE面试大全(一)
《J2EE开发详解》是一本深度探讨Java企业级应用开发的专业书籍,其配套光盘包含了一系列相关的资源和示例代码,旨在帮助开发者全面理解和掌握J2EE平台的开发技术。J2EE(Java 2 Platform, Enterprise Edition)是...