3.2.10. EJB 2.x 的修改

3.2.10.1. 更新使用 EJB 2.x 的应用程序

JBoss EAP 6 提供了对 EJB 2.x 的支持,然而,你需要进行一些代码的修改并用 Full 配置集启动服务器。

过程 3.26. 在 EAP 6 上运行 EJB 2.x

  1. 修改代码以使用新的 JNDI 命名空间规则

    和 EJB 3.0 不同,对于 EJB 2.x,你必须使用完整的 JNDI 前缀。关于新的 JNDI 命名空间规则和代码示例,请参考 第 3.1.8.1 节 “更新应用程序 JNDI 命名空间的名称”
    以前版本里显示如何更新 JNDI 命名空间的示例可以在这里找到: 第 3.1.8.5 节 “以前版本的 JNDI 命名空间示例和它们在 JBoss EAP 6 里是如何指定的”
  2. 替换 JBoss AOP 拦截器

    EAP 6 里不再包含 JBoss AOP (Aspect Oriented Programming,面向方面编程) 。在以前的版本里,EJB 容器使用了 JBoss AOP。然而,在 JBoss EAP 6 里,EJB 容器使用了新的机制。如果你的应用程序使用 JBoss AOP,你需要象下面这样修改你的代码。

    • ejb3-interceptors-aop.xml 里的标准 EJB3 配置现在已经在服务器配置文件里完成了。对于独立的服务器,就是 standalone/configuration/standalone-full.xml 文件。如果你在受管域里运行服务器,这个文件将是 domain/configuration/domain.xml
    • 集成 AOP 拦截器到 EJB 层的应用程序必须注册以使用 EJB3 拦截器和 CDI。服务器端的拦截器可以修改为 EJB3 拦截器。
  3. 修改 jboss-web.xml 文件描述符

    对每个 <ejb-ref><jndi-name> 进行修改以使用新的 JNDI 全限定查找格式。
  4. 替换 jboss.xml 部署描述符文件

    jboss-ejb3.xml 部署描述符替换 jboss.xml 以覆盖和添加 Java EE 定义的 ejb-jar.xml 里提供的功能。这个新文件和 jboss.xml 兼容,而目前的部署里已经忽略了jboss.xml
  5. 用 Full 配置集启动服务器

    EJB 2.x 要求 Java EE 6 的 Full 配置集。要用 Full 配置集启动 EAP 6,在启动服务器时请在命令行使用参数 -c standalone-full.xml