更新企业应用程序文件的方法

您可以用几种方法来更新服务器或集群上部署的 Java™ Platform, Enterprise Edition (Java EE) 应用程序文件。

表 1. 更新应用程序文件的方法. 可以使用控制台、wsadmin、编程或部署工具来更新应用程序文件。
选项 方法 注释 更新之后启动
管理控制台更新向导

请参阅使用控制台更新企业应用程序

要从 Java EE 应用程序或模块中移除单个文件,请参阅有关移除企业文件的主题。

简单执行以下操作:
  1. 转至“企业应用程序”页面。在控制台导航树中,单击应用程序 > 应用程序类型 > WebSphere 企业应用程序
  2. 选择要更新的应用程序并单击更新
  3. 准备应用程序更新页面上,标识要更新的应用程序、模块或文件,然后单击下一步
  4. 完成更新向导中的步骤并单击完成
准备应用程序更新页面上:
  • 使用完整应用程序来更新 .ear 文件。
  • 使用单个模块来更新 .war.sar、 企业 Bean .jar 或者连接器 .rar 文件。
  • 使用单个文件来更新 .ear.war.sar、EJB .jar 或者 .rar 文件之外的文件。
  • 使用部分应用程序来更新或移除多个文件。
企业应用程序页面上,选择已更新的应用程序并单击启动
[AIX Solaris HP-UX Linux Windows][z/OS]受监控目录 [AIX Solaris HP-UX Linux Windows][z/OS]如果您已通过将应用程序或模块添加至受监控的目录来安装此应用程序或模块,那么可以通过将具有相同文件名的应用程序或模块添加至该目录来更新此应用程序或模块。 [AIX Solaris HP-UX Linux Windows][z/OS]请参阅有关“通过将企业应用程序文件添加至受监控目录来安装企业应用程序文件”的主题。 [AIX Solaris HP-UX Linux Windows][z/OS]安装应用程序或模块之后,该产品会将其自动启动。

对于 Deployment Manager 受监控目录上的安装,如果 Node Agent 或服务器未在运行,那么产品不会自动启动应用程序或模块。

[AIX Solaris HP-UX Linux Windows][z/OS]应用程序属性文件 [AIX Solaris HP-UX Linux Windows][z/OS]创建属性文件,以指定要更新应用程序文件。然后,采用下列任一种方法运行 wsadmin applyConfigProperties 命令:
  • 在脚本中
  • 在命令提示符下
  • 通过将属性文件添加至 monitoredDeployableApps/deploymentProperties 受监控目录
[AIX Solaris HP-UX Linux Windows][z/OS]请参阅有关“通过将属性文件添加至受监控目录来安装企业应用程序文件”的主题。 [AIX Solaris HP-UX Linux Windows][z/OS]安装应用程序或模块之后,该产品会将其自动启动。

对于 Deployment Manager 受监控目录上的安装,如果 Node Agent 或服务器未在运行,那么产品不会自动启动应用程序或模块。

wsadmin 脚本

请参阅有关使用 wsadmin 脚本编制工具更新已安装的应用程序的主题。

在脚本中或命令提示符下使用 update 命令或 updateInteractive 命令。有关 updateupdateInteractive 命令的更多信息,请参阅有关用于 AdminApp 对象的命令的主题。 “wsadmin wsadmin 脚本编制入门”主题概述了 wsadmin。 使用 invoke 命令和 startApplication 属性来启动应用程序。 有关 invoke 命令的更多信息,请参阅有关用于 AdminControl 对象的命令的主题。
Java 应用程序编程接口

请参阅有关使用管理程序 (JMX) 的主题。

通过完成有关“通过编程来管理应用程序”的主题中的步骤来更新已部署的应用程序。 使用下列来更新应用程序:
  • 更新整个应用程序
  • 对应用程序添加、替换或删除多个文件
  • 将模块添加至应用程序
  • 更新应用程序中的模块
  • 删除应用程序中的模块
  • 将文件添加至应用程序
  • 更新应用程序中的文件
  • 删除应用程序中的文件
使用 AdminControl 在 ApplicationManager MBean 上调用 startApplication 方法。
快速部署工具

请参阅快速部署 J2EE 应用程序中的主题。

简单执行以下操作:
  1. 更新您的 J2EE 应用程序文件。
  2. 设置快速部署环境。
  3. 创建自由格式项目。
  4. 启动快速部署会话。
  5. 将更新后的应用程序文件放入自由格式项目中。
快速部署工具具有下列优点:
  • 在部署之前,您不需要对 J2EE 应用程序文件进行组装。
  • 您不需要使用该表中提及的其他安装工具来部署文件。
使用先前的任何选项来启动应用程序。在“企业应用程序”页面上单击启动是最容易的选项。
热部署和动态重新装入 简单执行以下操作:
  1. 更新应用程序 (.ear)、Web 模块 (.war)、企业 Bean .jar 或 HTTP 插件配置文件。
  2. 遵循热部署和动态重新装入中的指示信息来更新文件。
如果您是 WebSphere® Application Server 的新用户,请使用管理控制台更新应用程序。该选项较容易。

热部署和动态重新装入更难完成。您必须在部署了应用程序的服务器上直接处理应用程序或模块文件。

特别要提到的是,任何使用注释的新功能实质上都可以与热部署交互。有关使用热部署来部署应用程序时这些交互的更多信息,请参阅 metadata-complete 属性下的信息。

使用先前的任何选项来启动应用程序。在“企业应用程序”页面上单击启动是最容易的选项。

您可以更新已安装的应用程序使用的 .ear、企业 Bean .jar、web 模块 .war、会话启动协议 (SIP) 归档 (.sar)、连接器 .rar、应用程序客户机 .jar 以及任何其他文件。

如果在应用程序正在运行时对其进行更新,WebSphere Application Server 会自动停止该应用程序,更新应用程序逻辑,然后重新启动应用程序。如果应用程序不自动启动,请使用某个启动选项手动将它启动。有关重新启动已更新的应用程序的更多信息,请参阅 IBM® WebSphere Developer Technical Journal: System management for WebSphere Application Server V6 -- Part 5 Flexible options for updating deployed applications 中的“Fine-grained recycle behavior”。

如果在应用程序正在运行时更新模块元数据,那么重新启动应用程序可能不足以使更改生效。例如,如果更改正在运行的 Java EE 6 应用程序(其使用注释)中的描述符,那么必须重新安装该应用程序。如果更改在应用程序中引入、移除或更改类层次结构的类,并且这些更改会影响带注释的类,那么也必须重新安装该应用程序。

metadata-complete 属性

更新 Web 模块的元数据时,您可能需要更改 metadata-complete 属性。
  • metadata-complete 为 false 时,将写入两个新文件:web_merged.xml(包含具有注释元数据的 web.xml 中合并的结果)以及一个新文件 ibm-metadata.xml(包含无法在 web_merged.xml 中存储的更多注释相关的数据)。web_merged.xml 文件还包含从 WAR WEB-INF/lib 下的 JAR 文件中的 web-fragment.xml 读取的其他元数据。
  • metadata-complete 为 true 时,不会生成 web_merged.xml,且不会创建 ibm-metadata.xml。仅当生成了 web_merged.xml 文件时,才会生成 ibm-metadata.xml 文件。
注: 可以在 web.xml(或 web-fragment.xml)中省略 metadata-complete 属性,这种情况下会为其假定缺省值“false”。如果省略 metadata-complete,那么其缺省值为 false
必须按如下所示将 metadata-complete 属性添加到 web.xml 文件或 web_merged.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:xsi="http://www.w3.org/2011/XMLSchema-instance" 
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
http://java.sun.com/xml/ns/javaee/web-app_3.0.xsd" 
version="3.0" metadata-complete="true">
<display-name>TestServlet30</display-name>
</web-app>
应该更新 web.xmlweb_fragment.xml 文件(如果这些文件正在推动热部署更新)。如果仅更新 web_merged.xml,在执行了导致 web_merged.xml 重新生成的任何管理操作的情况下,热部署更改将丢失。
要点: 如果在 web.xml 中 metadata-complete 为 false,那么需要在 Servlet (Web) 2.5 应用程序的热部署上更新 web.xmlweb_merged.xml。如果在 web.xml 中 metadata-complete 为 true,那么仅需要在 Servlet (Web) 2.5 应用程序的热部署上更新 web.xml

对 WAR 文件中 web.xml 和 EJBJAR 文件中 ejb-jar.xml 的处理相同时,将为 WAR 文件创建 web_merged.xml(如果 web.xml 缺失或 metadata-complete 已设置为 false),为 EJBJAR 文件创建 ejb-jar_merged.xml(如果 ejb-jar.xml 缺失或 metadata-complete 已设置为 false)。

在任一情况下,无论何时创建合并 XML,都会创建 ibm-metadata.xml。(并且仅当创建合并的 XML 时才会创建。)

在任一情况下,如果部署将 metadata-complete 从 false 更改为 true,那么将会创建或替换 XML 文件(web.xmlejb-jar.xml),不会创建合并的 XML 文件,并且不会创建 ibm-metadata.xml

额外情况针对于 WAR 文件中的 EJB 内容 (EJB-IN-WAR)。对于这种情况,有额外的复杂规则:
  • web.xml metadata-complete 设置与 EJB-IN-WAR 处理进行交互。
  • 当 WAR 文件中不存在 EJB 内容时,将不会执行 EJB-IN-WAR 处理。
  • 部署可以单独地将 web.xmlejb-jar.xml 的 metadata-complete 从 false 更改为 true。
  • 当任何一个合并 XML 创建时,将会创建 ibm-metadata.xml。(未创建两个合并 XML 时不会创建此文件。)

对于 EJB-IN-WAR,以下规则适用:

  • web.xml 将 metadata-complete 设置为 true 并且 ejb-jar.xml 不存在时,即使 WAR 文件中存在 EJB 注释,也不会执行 EJB-IN-WAR 处理。
  • web.xml 将 metadata-complete 设置为 false(或 web.xml 不存在)并且 ejb-jar.xml 不存在时,仅当 WAR 文件中存在 EJB 注释时,才会执行 EJB-IN-WAR 处理。
  • ejb-jar.xml 存在时,不会使用 web.xml 的 metadata-complete 设置来确定 EJB 处理执行的任务。存在 ejb-jar.xml 时,可通过 ejb-jar.xml 的 metadata-complete 设置确定完成哪些 EJB-IN-WAR 处理。

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=crun_app_upgrade
文件名:crun_app_upgrade.html