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
修改代码以使用新的 JNDI 命名空间规则
和 EJB 3.0 不同,对于 EJB 2.x,你必须使用完整的 JNDI 前缀。关于新的 JNDI 命名空间规则和代码示例,请参考 第 3.1.8.1 节 “更新应用程序 JNDI 命名空间的名称”。以前版本里显示如何更新 JNDI 命名空间的示例可以在这里找到: 第 3.1.8.5 节 “以前版本的 JNDI 命名空间示例和它们在 JBoss EAP 6 里是如何指定的”。替换 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 拦截器。
修改
jboss-web.xml
文件描述符对每个<ejb-ref>
的<jndi-name>
进行修改以使用新的 JNDI 全限定查找格式。替换
jboss.xml
部署描述符文件jboss-ejb3.xml
部署描述符替换jboss.xml
以覆盖和添加 Java EE 定义的ejb-jar.xml
里提供的功能。这个新文件和jboss.xml
兼容,而目前的部署里已经忽略了jboss.xml
。用 Full 配置集启动服务器
EJB 2.x 要求 Java EE 6 的 Full 配置集。要用 Full 配置集启动 EAP 6,在启动服务器时请在命令行使用参数-c standalone-full.xml
。