Sun Java System Application Server Enterprise Edition 8.1 2005Q2 管理指南

适用于开发者的部署方法

另请参见:

Procedure使用自动部署

自动部署功能使您能够通过将预封装的应用程序或模块复制到 domain-dir/autodeploy 目录来部署该应用程序或模块。

例如,将名为 hello.war 的文件复制到 domain-dir/autodeploy 目录。要取消部署应用程序,请从 autodeploy 目录中删除 hello.war 文件。

也可以使用管理控制台或 asadmin 工具来取消部署应用程序。在这种情况下,归档文件将保留。


注 –

自动部署仅适用于默认服务器实例。


自动部署功能适用于开发环境。它与会话持久性(一种生产环境功能)不兼容。如果启用了自动部署,则不要启用会话持久性。

  1. 在树组件中,展开“独立实例”节点。

  2. 单击 "server"(管理服务器)。

  3. 单击“高级”。

  4. 在“应用程序配置”页面中,配置以下项目:

    1. 通过选中或取消选中“已启用”复选框来启用或禁用自动部署。

    2. 在“自动部署轮询时间间隔”字段中,指定服务器检查自动部署目录中的应用程序文件或模块文件的频率。

      更改轮询时间间隔不会影响部署应用程序或模块所需的时间。

    3. 在“自动部署目录”中,如果指定生成应用程序的目录,则不必将文件复制到默认自动部署目录。

      默认目录是服务器实例的根目录中名为 autodeploy 的目录。

      默认情况下,可使用变量自动更改多个服务器实例的目录。有关这些变量的更多信息,请参见设置高级域属性

    4. 要在部署之前运行检验器,请选择“检验器”。

      验证器将检查文件的结构和内容。大型应用程序的检验通常会很耗费时间。

    5. 要预编译 JSP 页面,请选择“预编译”。

      如果未选中此复选框,则首次访问 JSP 页面时会在运行时编译这些页面。由于编译通常很耗费时间,因此在生产环境中请选中此复选框。

Procedure部署目录中未封装的应用程序

此功能适用于高级开发者。

使用目录部署仅部署到默认服务器实例 (server)。您不能使用它来部署到群集或独立服务器实例。

包含未封装的应用程序或模块的目录有时称为展开的目录。目录的内容必须与相应的 J2EE 归档文件的内容匹配。例如,如果部署某一目录中的 Web 应用程序,则该目录的内容必须与相应的 WAR 文件的内容相同。有关必需的目录内容的信息,请参见相应的规范。

您可以直接在展开的目录中更改部署描述符文件。

如果您的环境被配置为使用动态重新装入,则还可以从目录中动态重新装入已部署的应用程序。有关更多信息,请参见配置动态重新装入

  1. 在管理控制台中启动部署进程。请参见部署 Web 应用程序

  2. 在“部署”页面中,指定以下内容:

    1. 单击单选按钮以指定必须可以从服务器上访问的软件包文件或目录路径。

    2. 在“文件或目录”字段中,输入展开的目录的名称。

等效的 asadmin 命令

deploydir

使用 deploytool 实用程序

为软件开发者设计的 deploytool 实用程序可以封装和部署 J2EE 应用程序和模块。有关如何使用 deploytool 的说明,请参见《The J2EE 1.4 Tutorial》。

使用部署规划

此功能适用于高级开发者。

部署规划是指仅包含特定于 Application Server 的部署描述符的 JAR 文件。有关这些部署描述符(例如 sun-application.xml)的说明,请参见 Application Server Developer’s Guide。部署规划是 JSR 88: J2EE Application Deployment 实现的一部分。使用部署规划可以部署不包含特定于 Application Server 的部署描述符的应用程序或模块。

要使用部署规划进行部署,请指定 asadmin deploy 命令的 --deploymentplan 选项。例如,以下命令将根据 mydeployplan.jar 文件中指定的规划来部署 myrosterapp.ear 文件中的企业应用程序。


$ asadmin deploy --user admin ---deploymentplan mydeployplan.jar myrosterapp.ear

在企业应用程序 (EAR) 的部署规划文件中,sun-application.xml 文件位于根级别目录下。根据以下语法来存储每个模块的部署描述符:module-name.sun-dd-name,其中 sun-dd-name 取决于模块类型。如果模块包括 CMP 映射文件,则该文件命名为 module-name.sun-cmp-mappings.xml.dbschema 文件存储在根级别目录下,并用井号 (#) 替换每个正斜杠符号 (/)。下面列出的内容显示了企业应用程序 (EAR) 的部署规划文件的结构。

$ jar -tvf mydeployplan.jar
420 Thu Mar 13 15:37:48 PST 2003 sun-application.xml
370 Thu Mar 13 15:37:48 PST 2003 RosterClient.war.sun-web.xml
418 Thu Mar 13 15:37:48 PST 2003 roster-ac.jar.sun-application-client.xml
1281 Thu Mar 13 15:37:48 PST 2003 roster-ejb.jar.sun-ejb-jar.xml
2317 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.sun-ejb-jar.xml
3432 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.sun-cmp-mappings.xml
84805 Thu Mar 13 15:37:48 PST 2003 team-ejb.jar.RosterSchema.dbschema

在 Web 应用程序或模块文件的部署规划中,特定于 Application Server 的部署描述符位于根级别目录下。如果独立 EJB 模块包括 CMP Bean,则部署规划包括位于根级别目录中的 sun-cmp-mappings.xml.dbschema 文件。在下面列出的内容中,部署规划描述了 CMP Bean。

$ jar r -tvf myotherplan.jar
3603 Thu Mar 13 15:24:20 PST 2003 sun-ejb-jar.xml
3432 Thu Mar 13 15:24:20 PST 2003 sun-cmp-mappings.xml
84805 Thu Mar 13 15:24:20 PST 2003 RosterSchema.dbschema