EJB详解:EJB2.0与EJB1.1的区别,JavaBean与EJB的对比

需积分: 10 5 下载量 82 浏览量 更新于2024-09-18 收藏 285KB PDF 举报
"EJB相关知识概述" EJB(Enterprise JavaBeans)是Java平台上的企业级组件模型,主要用于构建可扩展的、分布式的、事务处理的后端应用系统。EJB技术自1998年发布以来,经历了多个版本的演进,其中EJB2.0是一个重要的里程碑。 94、EJB2.0的内容与应用场景: EJB2.0规范涵盖了多个角色和组件,包括Bean提供者(开发EJB的人员),应用程序装配者(负责将EJB集成到应用中),EJB容器(如WebSphere或WebLogic,提供运行环境),EJB配置工具(用于设置EJB的属性和部署信息),EJB服务提供者(如数据库、消息队列等),以及系统管理员(负责整个系统的运维)。EJB2.0相比EJB1.1,引入了更强大的实体Bean(Entity Bean)和会话Bean(Session Bean)的管理机制,比如CMP(容器管理的持久性)和BMP(bean管理的持久性)。 95、EJB与JavaBean的区别: JavaBean是普通的Java类,可复用且通常具有无参数构造器和序列化能力,适合于在同一个应用中进行组件间的交互。而EJB是Java平台的企业级组件,具备远程调用和分布式计算的能力,适用于构建大型分布式应用。EJB提供了更高级别的服务,如安全性、事务管理、并发控制等,且需要在EJB容器中运行,客户通过容器而非直接访问EJB组件。 96、EJB基于的技术及Bean类型的区别: EJB的实现依赖于JNDI(Java Naming and Directory Interface)进行查找,RMI(Remote Method Invocation)实现远程方法调用,JTA(Java Transaction API)处理事务。EJB主要包含三种类型的Bean: - SessionBean:分为Stateful(有状态)和Stateless(无状态)。Stateless Session Bean每个客户端请求都分配一个新的实例,不保留客户端状态信息。而Stateful Session Bean能记住客户端状态,支持多步交互。 - EntityBean:用于持久化数据,对应数据库中的记录。CMP让容器管理数据存储,BMP则由Bean自己管理。 - MessageDrivenBean:响应JMS(Java Message Service)消息,实现异步处理。 总结来说,EJB是Java企业级应用的核心组成部分,提供了一套完整的框架和服务,使得开发者可以专注于业务逻辑,而不用过多关心底层实现细节。JavaBean则更适合于轻量级的组件复用,两者在功能和使用场景上有显著差异。了解并熟练掌握EJB技术,对于开发复杂的分布式企业级应用至关重要。