J2EE基础:EJB的三种类型详解

需积分: 10 1 下载量 77 浏览量 更新于2024-08-23 收藏 696KB PPT 举报
"EJB的三种类型-j2ee基础介绍" 本文介绍了Java EE(以前称为J2EE)中的企业级JavaBeans(EJB)的三种主要类型:实体Bean、会话Bean和消息驱动的Bean,以及它们在企业应用中的作用。 1. 实体Bean(Entity Bean) - 实体Bean通常代表数据库中的一条记录,它们负责持久化数据,与数据库中的行相对应。 - 容器管理Bean的实例和并发访问,确保对同一实体Bean的多个访问是同步的。 - 实体Bean是长寿命的,即使服务器重启,由于其状态持久化在数据库中,它们也能恢复。 - 并不是每个数据库表都需要映射为一个实体Bean,也不是每个持久对象都必须是实体Bean。 2. 会话Bean(Session Bean) - 会话Bean承载业务逻辑,可以分为有状态和无状态两种。 - 有状态的会话Bean保留客户方的状态,每个实例对应一个特定的会话或客户方,适合需要跟踪用户交互的情况。 - 无状态的会话Bean不保留客户方状态,可以在不同客户方之间共享,提高系统可伸缩性。 - 原子性操作通常在会话Bean中实现,确保所有操作要么全部成功,要么全部失败。 3. 消息驱动的Bean(Message-Driven Bean,MDB) - MDB是自EJB 2.0起引入的新类型,用于异步处理Java消息服务(JMS)消息。 - MDB不直接与客户方交互,而是监听JMS消息并异步处理。 - MDB是无状态的,任何实例都可以处理消息,类似于无状态会话Bean。 - MDB的生命周期完全由容器管理,无需客户方进行实例创建和删除操作。 J2EE架构的发展背景: - 传统的“胖”客户端模式存在维护困难、网络性能差、数据库连接费用高等问题。 - 三层分布式对象架构(如CORBA、RMI、DCOM)虽然解决了部分问题,但编程复杂。 - Web技术推动了“瘦”客户端的流行,使得业务逻辑集中在服务器端,降低了部署和维护成本。 - N层计算模式提供了更好的灵活性、可伸缩性和资源管理,允许各层独立升级,提高了系统性能。 总结来说,EJB作为Java EE的一部分,提供了管理和执行企业级应用程序业务逻辑的标准方式,而EJB的三种类型分别针对不同的应用场景,满足了持久化、事务处理和异步通信等需求。