在部署 Enterprise JavaBeans (EJB) 模块时,您将在已配置为支持所部署模块的服务器上安装该模块。
开始之前
组装一个或多个 EJB 模块、组装一个或多个 Web 模块并将他们组装成 Java™ EE 应用程序。
有关 EJB 3.x 对 EJB 部署模型所作的更改的概述,请参阅“EJB 3.x 部署概述”主题。
过程
- 准备部署环境。 请参阅“准备主管应用程序”主题。
- 根据部署环境的需要,更新每个 EJB 模块的配置。
- 必需: 如果模块依赖于特定于 Java 5 的扩展(例如类属项和注释等等),那么您必须单独运行 EJBDeploly 命令行工具,然后再安装该模块或包含该模块的应用程序。这是因为,管理控制台和 wsadmin 命令行工具不允许指定 ejbdeploy -complianceLevel 5.0 选项。
只需要对包含实体 Bean 的 EJB 2.1 模块运行 EJBDeploy 工具。
- 解决潜在的互操作性问题。
如果在不支持 EJB 3.x 的应用程序服务器版本上运行的 WebSphere®
堆栈产品或其他产品尝试以远程方式调用其他服务器(正在运行支持 EJB 3.x 的应用程序服务器版本)上符合 EJB 3.x 的企业 Bean 上的方法,那么会发生意外结果。如果这些产品尝试通过企业 Bean 的 EJB 3.x 远程业务接口来调用方法,那么可能会遇到 EJB 3.x 中引入的异常,然后这些产品将被推送回不符合 EJB 3.x 的环境。
对于包含增值产品组合(既包含符合 EJB 3.x 的产品又包含不符合应用程序服务器的实例的产品)的环境中的管理员,此情况可能也是个问题。
以下是 EJB 3.0 中引入的异常类的列表:
- javax.ejb.ConcurrentAccessException
- javax.ejb.EJBAccessException
- javax.ejb.EJBTransactionRequiredException
- javax.ejb.EJBTransactionRolledbackException
- javax.ejb.NoSuchEJBException
- 确保将应用程序服务器更新到 7.0.0.3。
- 以手动方式将 <app_server_root>/runtimes/ejb3exceptions.jar
文件从应用程序服务器复制到每个要用作 EJB 3.x 客户机的增值产品安装版本或其他产品安装版本中的一个目录中。
- 确保包含 ejb3exceptions.jar 文件的目录在类路径中。 满足此要求的 JAR 文件的一个可能位置是不符合 EJB 3.x 的服务器上的
<app_server_root>/lib 目录。
避免故障: 就像 EJB 瘦客户机 JAR 一样,如果有可用的更新,那么用户在安装包含更新后的版本的 WebSphere Application Server 版本之后,必须再次复制 ejb3exceptions.jar 文件。
gotcha
- 部署应用程序。 请参阅“部署和管理企业应用程序”主题。
下一步做什么
如果您指定要在应用程序安装期间运行 EJBDeploy 工具,但安装失败并报告 NameNotFoundException
消息,请确保输入 Java 归档 (JAR) 或企业归档 (EAR)
文件未包含源文件。请除去这些源文件,或者将所依赖的所有类文件和资源文件包括在类路径中。如果输入
JAR 或 EAR 文件包含源文件,那么 EJB 部署工具在生成部署代码之前将运行重建过程。
如果部署模块成功,请测试并调试该模块。请参阅“诊断问题(使用诊断工具)”主题。