添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Oracle Account

Manage your account and access personalized content. Sign up for an Oracle Account

Sign in to Cloud

Access your cloud dashboard, manage orders, and more. Sign up for a free trial

企业 JavaBean (EJB) 3.0 的目标是简化 Java 应用程序的开发,并实现 Java 平台的持久性 API 的标准化。EJB 3.0 有望成为 J2EE 平台下一个主要修订版 J2EE 5.0 的一部分。EJB 3.0 按照 Java Community Process (JCP) 下的 Java 规范要求 220 (JSR-220) 开发,且 Oracle 是此规范的联合制定人。 迄今为止,JCP 已经发布了多个 EJB 3.0 规范草案,Oracle 针对这些草案在 Oracle 应用服务器 10g (10.1.3) 中实现了 EJB 3.0 支持。 Oracle 应用服务器 10g 10.1.3 开发人员预览版 4 中,Oracle 实现了 EJB 3.0 公共草案规范的大多数主要特性。可以在 Oracle 技术网 上下载并试用此容器。 EJB 3.0 预览版特性 的目标是提供一个平台,让开发人员提早试用高质量的完整 EJB 3.0 实现,并确定 EJB 3.0 将在多大程度上满足开发人员的要求,同时使标准化组织可以获得早期反馈。

Oracle 应用服务器 10g (10.1.3) 开发人员预览版中的关键特性

简化的 API

EJB 3.0 的主要设计目标是简化开发人员的开发过程。在 EJB 的早期版本中,开发人员在使用众多的 API 以及复杂的部署描述文件时经常感到困难。 Oracle 应用服务器 10g (10.1.3) 开发人员预览版 提供了由 EJB 3.0 公共草案定义的简化模型的完整实现。

  • 简化的 EJB

    EJB 3.0 不再需要主接口和组件接口,并且不需要 bean 类实现 javax.ejb.EnterpriseBean 接口。EJB bean 类可以是纯 Java 类(通常称作 POJO);接口可以是简单的业务接口。bean 类可以实现业务接口。

  • 使用批注代替部署描述符

    元数据批注已经可以作为部署描述符的替代品。可以使用批注指定 bean 类型、不同的属性(如事务或安全设置)、对象关系映射以及环境或资源引用的注入。可以使用部署描述符覆盖元数据批注。

  • 相关性注入

    用于查找和使用 EJB 环境和资源引用的 API 已经得到简化,并改用相关性注入。将元数据批注用于相关性注入。

  • 增强的生命周期方法和回调监听程序类

    与 EJB 的先前版本不同,bean 开发人员不必实现所有不必要的回调方法,但可以将任意方法指定为回调方法以接收生命周期事件通知。

    还可以使用回调监听程序类代替在同一 bean 类中定义的回调方法。

    拦截器是一个用于拦截业务方法调用的方法。可以在无状态会话 Bean、有状态会话 Bean 或消息驱动 Bean 中定义拦截器方法。还可以使用拦截器类而不必在 bean 类中定义拦截器方法。

  • 对 EJB 进行简单的 JNDI 查找

    EJB 的查找已经得到简化,客户端不必通过对 EJB 调用 create 方法来创建 bean 实例,而是可以对 EJB 直接调用方法。

    会话 Bean

    会话 Bean 是纯 Java 类,并且不必实现 javax.ejb.SessionBean 接口。主接口是可选的。会话 bean 可能拥有远程、本地接口或同时拥有这两个接口,且这些接口不必扩展 EJBObject 或 EJBLocalObject。

  • 元数据批注

    元数据批注用于指定 bean 或接口,以及会话 bean 的运行时属性。例如,会话 bean 使用 @Stateless @Stateful 标记以指定 bean 类型。 Oracle 应用服务器 10.1.3 开发人员预览版 为会话 bean 的元数据批注(在 EJB 3.0 公共草案规范中指定)提供了全面的支持。

  • 增强的生命周期方法和回调监听程序

    回调监听程序同时支持有状态和无状态会话 bean。这些回调方法既可以使用批注指定也可以使用部署描述符指定。

  • 相关性注入

    可以从有状态或无状态会话 bean 中使用相关性注入。开发人员可以使用元数据批注或部署描述符注入资源、EJB 上下文或环境项。

    拦截器方法或拦截器类同时支持有状态和无状态会话 bean。

    消息驱动 Bean

  • 简化的 MDB

    消息驱动 Bean 不必实现 javax.ejb.MessageDriven 接口,它们实现 javax.jms.MessageListener 接口。

  • 元数据批注

    元数据批注用于指定 bean 或接口,以及 MDB 的运行时属性。例如,MDB 使用 @MessageDriven 进行标记以指定 bean 类型。

  • 增强的生命周期方法和回调监听程序

    回调监听程序支持 MDB。这些回调方法既可以使用批注指定也可以使用部署描述符指定。

  • 相关性注入

    可以从 MDB 中使用相关性注入。开发人员使用元数据批注或部署描述符注入由 MDB 使用的资源、EJB 上下文或环境条目。

    拦截器方法或拦截器类可用于 MDB。

    实体 Bean/持久性 API

  • 简化的实体 Bean(POJO 持久性)

    EJB 3.0 显著简化了实体 bean 并对 POJO 持久性模型进行了标准化。实体 Bean 是具体的 Java 类,并且不需要任何接口。实体 bean 类支持多态性和继承。实体可以拥有不同类型的关系,且容器托管关系由开发人员手动管理。

  • 实体管理器 API

    EJB 3.0 引入了 EntityManager API,用于创建、查找、删除和更新实体。

    EntityManager API 引入了拆离/合并实体 bean 实例的概念(类似于值对象模式)。bean 实例可以被拆离,并可以由客户端在本地更新,然后将其返回给 EntityManager 以与数据库合并/同步。

    Oracle 应用服务器 10.1.3 开发人员预览版 为 EJB 容器内部和外部的 EntityManager API 提供了全面的支持。

  • 元数据批注

    元数据批注通过消除对部署描述符的需要显著简化了实体开发。实体批注用于将类指定为实体 bean。批注用于指定事务属性、安全权限、回调监听程序和批注过的查询。

    Oracle 应用服务器 10.1.3 开发人员预览版 支持使用元数据批注指定的对象关系映射。

  • 查询语言增强

    EJB 3.0 显著改进了实体的查询功能。它通过其他操作(如批量更新和删除、JOIN 操作、GROUP BY HAVING、投影和子查询)增强了 EJB-QL。此外,还可以使用 EJB QL 编写动态查询。 Oracle 应用服务器 10.1.3 开发人员预览版 支持查询语言的大多数增强功能。

  • 增强的生命周期方法和回调监听程序

    回调监听程序支持实体 bean。这些回调方法既可以使用批注指定也可以使用部署描述符指定。

  • 容器外部的可用性

    可以在容器外部使用 Oracle 应用服务器 10.1.3 开发人员预览版 的 EJB 3.0 可持续性引擎。

  • POJO bean 类 - 不需要实现 javax.ejb.SessionBean 接口
  • POJI 接口 - 不需要扩展 javax.ejb.EJBObject 或 javax.ejb.EJBLocalObject 接口
  • 可选的主接口
  • 元数据批注
  • 简化的异常处理
  • EJBContext、资源和环境引用的相关性注入
  • 增强的生命周期方法和回调监听程序类
  • 拦截器方法和类
  • 按步骤说明如何将 EJB 2.1 会话 Bean 移植到 EJB 3.0
  • 具有 XML 部署描述符的 JDK 1.4 支持
  • 实体 Bean

  • 轻型持久性模型
  • 无组件接口
  • EntityManager API
  • 对象关系映射的元数据批注
  • 查询语言增强(批量更新、命名的参数)
  • 回调监听程序
  • J2EE 容器之外
  •