Show Table of Contents
第 23 章 EJB
23.1. 介绍
23.1.1. EJB 概述
EJB 3.1 是开发分布式、事务性、安全和可移植 Java EE 应用程序的 API,它使用了名为 Enterprise Bean 的服务器端组件。EJB 以鼓励代码重用的松耦合方式实现了应用程序的商业逻辑。EJB 3.1 是作为 Java EE 规格 JSR-318 编写文档的。
JBoss EAP 6 对使用 EJB 3.1 规格构建的应用程序提供了完整的支持。
23.1.2. 用于管理员的 EJB 概述
JBoss 管理员可以通过许多配置选项来控制 JBoss EAP 6 里的 EJB 的性能。这些选项可以通过管理控制台或命令行配置工具来访问。编辑 XML 服务器配置文件来应用修改也是可能的,但我们不推荐这么做。
根据服务器运行的方式,EJB 配置选项在管理控制台里所处的位置会有轻微的不同。
- 点击管理控制台顶部的 Configuration 标签。
- 如果服务器运行于域模式,请从左上角的 Profile 下拉菜单里选择合适的配置集。
- 展开 Subsystems 菜单。
- 展开 Container 菜单,然后选择 EJB 3。
23.1.3. Enterprise Bean
如 EJB 3.1 规格 JSR-318 里所定义的,Enterprise bean 是服务器端的组件。Enterprise bean 的目的是以分离的方式实现应用程序商业逻辑,从而鼓励重用。
EJB 以 Java 类编写且用合适的 EJB 注解进行注解。它们可以部署到自己归档(JAR 文件)里的应用服务器,也可以作为 Java EE 应用程序的一部分进行部署。应用服务器管理每个 EJB 的生命周期并提供服务,如安全性、事务和并行管理。
EJB 也可以定义任意数量的商业接口。商业接口提供对 bean 的哪些方法可被客户使用的更多控制,且允许访问运行在远程 JVM 里的客户。
有三种类型的 EJB:Session beans、Message-driven beans 和 Entity beans。
重要
EJB 3.1 里现在已废弃了 Entity Bean,Red Hat 推荐使用 JPA 实体来替代。Red Hat 只推荐出于对以前的系统的向后兼容性才使用 Entity Bean。
23.1.4. Session Beans
Session Bean 是封装了相关商业过程或任务的 EJB,它被注入到请求它们的类里。有三种 Session Bean:stateless、stateful 和 singleton。
23.1.5. Message-Driven Bean
Message-driven Bean(MDB) 为应用程序的开发提供了一个事件驱动的模型。MDB 的方法不会注入或从客户代码里调用,但会被消息服务(如 JMS 服务器)里的消息触发。Java EE 6 规格要求只支持 JMS,但也可以支持其他的消息系统。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.