指南:组装 J2EE 模块
主题
简介
该指南页面着重于 J2EE 模块的汇编。
组装 J2EE 模块,则生成以下实施元素:
- J2EE 归档文件(WAR、EJB-JAR 和 JAR 文件)及其
- 部署描述符(XML 文件),描述归档文件内容和描述所包含的元素将如何在部署容器内运作
关于 J2EE 模块的更多信息,请参阅指南:J2EE 模块。
定义归档文件
在该步骤中,应用程序组件供应者将确定要在模块中打包的组件。
可生成多个归档文件,以备不同用途。例如,将归档文件分别用于测试、调试或传递给不同的“生产”部署配置。测试归档文件将包含测试类和使用调试标记构建的类,而生产归档文件不会包含测试类,也不会使用调试标记进行构建。要汇编的预期归档环境将影响设置好的汇编工作区。
定义部署描述符
组装 J2EE 模块的关键步骤在于定义部署描述符。在每个组件的设计中应该已经包括了这些信息中的大部分,所以部署描述符的定义在很大程度上关系到确保与设计的一致性。如果您使用来回设计,则可能还存在对于生成部署描述符的工具支持。
每个归档文件均包含 J2EE 标准部署描述符,且不含或包含几个特定于供应者的描述符。标准描述符(对于 EJB-JAR 为 ejb-jar.xml,以及对于 WAR 为 web.xml)包含测试和其它“非生产”部署所需完成的部分,以及最终应用程序汇编程序将为生产部署准备的部分。
每个描述符均包含应用程序组件供应者感兴趣的信息以及应用程序汇编程序。例如,ejb-jar.xml 包含三个主要部分(为了我们的讨论起见):<Enterprise-beans>...</Enterprise-beans>、<relationships>...</relationships> 和 <assembly-descriptor>...</assembly-descriptor>。应用程序组件供应者在 <Enterprise-beans>...</Enterprise-beans> 部分中定义了 EJB 的属性,例如 CMP 字段。应用程序组件供应者还在 <relationships>...</relationships> 部分定义了 EJB 之间的可选关系。<assembly-descriptor>...</assembly-descriptor> 部分中定义了事务、安全角色、方法权限等。正常情况下,只有应用程序汇编程序将负责该部分。汇编程序可决定修改其它两部分的内容,但这种情况较为少见。对 WAR 归档文件而言,情况类似。关于应用程序汇编的更多信息,请参阅指南:汇编 J2EE 应用程序。
如果在设计过程中定义了数据模型中数据库表与由容器管理的持久(CMP)实体 EJB 的数据库表之间的映射,则应在特定于供应者的描述符中的映射伪指令中反映这些映射(映射伪指令不是标准 EJB 描述符的一部分)。关于将 CMP 实体 EJB 映射到数据库表的更多信息,请参阅指南:设计实体 Bean。
如果有多个组件将打包到同一个归档文件中(请参阅步骤:定义归档文件),应用程序组件供应者必须集成其部署描述符信息。例如,当将 EJB 合并为一个 EJB-JAR 时,应用程序组件供应者必须协调部署描述符中的信息,例如安全角色和交叉引用。
验证归档文件
由于隐藏的错误(特别是应用程序服务器端的错误)可能导致隐藏的或不存在的错误消息,所以在尝试部署之前验证归档文件内容是个很好的想法。例如,被打包到归档文件中的任何组件都不能使用重复的 JNDI 名称。
|