本主题描述 Enterprise JavaBeans (EJB) 3.1 规范,这是 EJB 3.1 应用程序的开发和应用程序编程模型的基础。阅读本主题以了解 EJB 3.1 规范的概述。
EJB 3.1 规范关注简化和易用性。此外,它将许多新功能添加到编程模型。
- 单独会话 Bean 是新型的会话 bean。正如名称暗示,只存在该 Bean 的一个实例。单项可用于存储应用程序的不同部分共享的数据。数据并行可能由容器或应用程序自身控制。
- 非持久性 EJB 计时器类似于 EJB 3.1 之前存在的持久 EJB 计时器,不同的是它们仅存在于内存中而没有存储在数据库中。非持久性计时器可用于不希望重试缺失的事件的场景。
- 自动创建的 EJB 计时器是在应用程序启动时自动创建的,在卸载该应用程序时自动将其移除。自动创建的计时器可能为持久或非持久。自动创建的计时器很有用,因为它们使应用程序或管理员无需显式创建和移除计时器。
- 基于日历的计时器表达式允许开发者使用非常类似 UNIX Cron 功能的基于日历的语法来指定超时调度。
基于日历的表达式很有用,因为它们使指定和了解计时器的超时调度变得容易很多。
- 异步方法调用允许应用程序并行运行多个工作块。从性能角度,异步方法很有用,因为工作负载不是单线程的,从简化角度,异步方法也很有用,因为应用程序员免于遭遇与多线程编程关联的复杂性。
- 无接口局部视图进一步简化普通旧 Java™ 对象 (POJO) 编程模型。对于无接口局部视图,不再要求 EJB 具有 Bean 接口。
- 可嵌入 EJB 容器允许开发者在 Java SE 环境中对其 EJB 功能进行单元测试。可嵌入 EJB 容器很有用,因为它允许开发者在其个人沙箱环境中快速且容易地测试 EJB 功能,而它无需将 EJB 安装到应用程序服务器中。
- 将 EJB 内容封装在 WAR 模块中允许以物理方式将 web 和 EJB 内容组合到同一模块中。
此封装选项很有用,因为它可能简化应用程序的组装和安装,简化 Web 与同一模块中协作的 EJB 组件之间的交互。