WebSphere下应用程序更新
先介绍我们常用的直接上传方法
一般来讲,单机版的was,应用程序部署在 %washome%/profiles/%AppProfile%/installedApps下,根新的时候可以直接把新文件上传到这个目录相应位置,但是如果要改动web.xml等重要文件,还需要修改另外一个地方:%washome%/profiles/%AppProfile%/config/cells/CellName/applications/AppName,这里放有包括web.xml等一些配置文件信息,千万不能遗忘(可以先看一下这目录下有些什么文件),否则重启应用后修改不会生效。
如果是ND环境的was,并且做了集群,那么要注意集群所在的每个app profiles下都有installedApps应用程序目录需要修改,同样config下相应文件需要修改(如果有对这目录下的文件进行过修改的话),还一定要注意dm profile的config目录下也需要修改,否则重启dm后所有修改会回滚会最初的样子。最好把变动过的web.xml等文件也更新到dm config下的应用程序包中,我遇到过即使修改config目录下文件,重启dm节点后依然回滚的情况。
Websphere也支持通过控制台更新和删减单个应用文件
这是WebSphere推荐的方法,但是大家不常用罢了,有兴趣的可以看看,聊当多知道一种方法。
要查看此管理控制台页面,单击应用程序 > 企业应用程序。
要查看为应用程序的配置指定的值,单击列表中的应用程序名。显示的应用程序设置页显示已指定的值。在设置页上,您可以更改现有的配置值并且链接到可以协助您配置应用程序的其他控制台页面。
要管理已安装的 J2EE 企业应用程序,启用列表中的应用程序名旁边的选择复选框,然后单击按钮:
按钮
结果操作
启动
试图运行应用程序。在成功启动应用程序之后,如果应用程序在所有部署目标上启动,则应用程序的状态更改为已启动,其他情况下,状态更改为部分已启动。
停止
试图停止应用程序的处理。在成功停止应用程序之后,如果应用程序在所有部署目标上停止,则应用程序的状态更改为已停止,其他情况下,状态更改为部分已停止。
安装
打开可帮助您将应用程序或模块(如 .jar、.war 或 .rar 文件)部署到服务器或集群的向导。
卸载
从 WebSphere Application Server 配置库删除应用程序,并且从所有节点的文件系统删除应用程序二进制文件,而这些节点是配置被保存和与节点同步之后安装应用程序模块的节点。
更新
打开可帮助您更新部署在服务器上的应用程序文件的向导。您可以更新整个应用程序、单个模块、单个文件或一部分应用程序。如果新的文件或模块与服务器上已有的文件或模块同名,则新的文件或模块将替换现有文件或模块。如果服务器上还不存在该新的文件或模块,则将它添加到已部署应用程序。
更新应用
继续更新跨越一个集群安装在多个集群成员上的应用程序。在您更新应用程序的文件或配置之后,单击更新应用,以在安装应用程序的集群的所有集群成员上安装应用程序的已更新文件或配置。更新应用依次为每个集群成员执行下列操作:
- 保存已更新的应用程序配置。
- 停止一个节点上的所有集群成员。
- 通过同步配置更新节点上的应用程序。
- 重新启动已停止的集群成员。
- 为所有具有集群成员的节点重复步骤 2 到 4。
此操作在提供应用程序的持续可用性的同时,更新多个集群成员上的应用程序。
除去文件
删除已部署应用程序或模块的文件。除去文件从 WebSphere Application Server 配置库和从安装文件的所有节点的文件系统中删除文件。 如果在集群上部署了应用程序或模块,则在除去文件后,单击更新应用以首次展示跨整个集群的更改。
导出
访问“导出应用程序 EAR 文件”页,您可以使用该页面将企业应用程序导出到您选择的位置上的 EAR 文件。使用导出操作备份已部署应用程序并且保存它的绑定信息。
导出 DDL
访问“导出应用程序 DDL 文件”页,您可以使用该页面将企业应用程序的 EJB 模块中的 DDL 文件(Table.ddl)导出到您选择的位置。
使用此页面更新已安装在服务器上的企业应用程序、模块或文件。
要查看此管理控制台页面,完成下列步骤:
- 单击应用程序 > 企业应用程序。
- 选择您要更新的已安装的应用程序或模块。
- 单击更新。
单击更新显示帮助您更新部署在单元中的应用程序文件的页面。您可以更新整个应用程序、单个模块、单个文件或一部分应用程序。如果新的文件或模块与服务器上已有的文件或模块具有相同的相对路径,则新的文件或模块将替换现有文件或模块。如果服务器上还不存在该新的文件或模块,则将它添加到已部署应用程序。
指定您在“企业应用程序”页面上选择的已安装(或部署)的应用程序的名称。
在更新选项下,指定用新的(已更新的)企业应用程序 .ear 文件替换已安装在服务器上的应用程序。
选择此选项后,指定 .ear 文件是在本地还是在远程文件系统上,并指定应用程序的完整路径名。此路径在安装前提供已更新的 .ear 文件的位置。
如果浏览器和更新文件或模块在同一机器上,无论服务器是否在该机器上,使用本地文件系统。本地文件系统可用于所有更新选项。
如果应用程序文件驻留在当前单元上下文的任何节点上,使用远程文件系统。 如果 Node Agent 或 Deployment Manager 正在所选节点上运行,您可以浏览节点的整个文件系统。浏览期间,仅显示 .ear、.jar 或 .war 文件。另外使用远程文件系统选项,以指定已在运行应用程序服务器的机器上的应用程序文件。例如,Windows 机器上的字段值可能是 C:\WebSphere\AppServer\installableApps\test.ear。
注: 应用程序安装期间,通常从运行浏览器的客户机将应用程序文件上载到部署它们的、在运行管理控制台的服务器上。在这些情况下,使用运行管理控制台的 Web 浏览器选择 .ear、.war 或 .jar 模块,以上载到服务器。然而在某些情况下,应用程序文件驻留在单元中的任何节点的文件系统上。要让应用程序服务器安装这些文件,使用远程文件系统选项。
指定有关 .ear 文件的必需的信息后,单击下一步显示更新应用程序文件的向导。此更新向导与安装向导类似,它提供了指定或编辑应用程序绑定信息提供字段。根据需要完成更新向导中的步骤。
当更新了完整的应用程序时,卸载旧的应用程序并安装新的应用程序。当保存配置更改并随后同步配置更改时,在应用程序将运行的节点上扩展应用程序文件。如果当更新应用程序时它正在节点上运行,则停止应用程序、更新应用程序文件并且启动应用程序。
在更新选项下,指定替换在已安装的应用程序中的模块,或将模块添加到已安装的应用程序。模块可以是 Web 模块(.war 文件)、Enterprise Bean 模块(EJB .jar 文件)或资源适配器模块(连接器 .rar 文件)。
选择此选项后,指定模块是在本地还是在远程文件系统上,并指定模块的完整路径名。此路径在安装前提供已更新模块的位置。要获取有关本地文件系统和远程文件系统的信息,请参阅以上完整的应用程序的描述。
要替换模块,模块的相对路径(模块 URI)的值必须与要在已安装的应用程序中更新的模块的路径匹配。
要将新模块添加到已安装的应用程序,模块的相对路径的值不能与已安装的应用程序中模块的路径匹配。此值指定新模块期望的路径。
如果您正在安装独立的 Web 模块,则指定上下文根的值。上下文根与定义的 servlet 映射(来自 .war 文件)进行组合,以组成用户输入以访问该 servlet 的完整 URL。例如,如果上下文根是 /gettingstarted 并且 servlet 映射是 MySession,则 URL 是 http://host:port/gettingstarted/MySession。
指定有关模块的必需的信息后,单击下一步显示更新应用程序文件的向导。更新向导与安装向导类似,它提供指定或编辑模块绑定信息的字段。根据需要完成更新向导中的步骤。
在添加或更新了单个模块后,当保存配置更改时,新的或更新的模块被存储到 WebSphere Application Server 配置存储库的已部署应用程序中。当这些更改与节点一起同步时,模块被添加或更新到节点的文件系统中。如果当添加或更新模块时应用程序正在节点上运行,则发生下列某个情况:
· 对于到 Web 模块的更新,停止正在运行的 Web 模块,更新 Web 模块文件然后启动 Web 模块。
· 对于模块增补,在节点上扩展添加的模块之后,在运行应用程序的应用程序服务器上启动这个添加的模块。不需要重新启动应用程序。
· 如果应用程序的类装入器策略设置为单个以使所有的模块共享一个类装入器,则对于模块级别更改,停止和重新启动整个应用程序。
· 如果与 WebSphere Application Server 一起配置的 Security Provider 不支持动态更新,则对于模块级别更改,停止和重新启动整个应用程序。
· 对于模块的其他更新,停止整个应用程序,更新模块文件,然后启动更个应用程序。
在更新选项下,指定替换在已安装的应用程序中的文件,或将文件添加到已安装的应用程序。
使用此选项更新应用程序使用的并且不是 .ear、.war、.rar 或某些情况下 .jar文件的文件。您可以使用此选项添加或更新不是作为应用程序中模块定义的 .jar 文件。要更新 .ear 文件,使用完整的应用程序选项。要更新作为应用程序中模块定义的 .war 文件、.rar 文件或 .jar 文件,使用单个模块选项。
选择此选项后,指定文件是在本地还是在远程文件系统上,并指定文件的完整路径名。此路径在安装前提供已更新文件的位置。要获取有关本地文件系统和远程文件系统的信息,请参阅以上完整的应用程序的描述。
下一步,指定文件的相对路径的值。文件的相对路径必须从 .ear 文件的根开始。例如,如果文件位于 hello.jar 模块中的 com/company/greeting.class,则指定 hello.jar/com/company/greeting.class 的相对路径。
要替换文件,文件的相对路径的值必须与在已安装的应用程序中要更新的文件的路径匹配。
要将新文件添加到已安装的应用程序,文件的相对路径的值不能与在已安装的应用程序中的文件的路径匹配。此值指定新文件期望的路径。
在添加或更新了单个文件后,当保存配置更改时,新的或更新的文件被存储到 WebSphere Application Server 配置存储库的已部署应用程序中。当这些更改与节点一起同步时,文件被添加或更新到节点的文件系统中。如果当添加或更新文件时应用程序正在节点上运行,则发生下列某个情况:
· 在应用程序元数据作用域(META-INF 目录)上添加文件时,或在任何应用程序作用域上或非 Web 模块中更新这些文件时,停止整个应用程序,添加或更新文件,然后重新启动整个应用程序。
· 在应用程序非元数据作用域(在 META-INF 目录外但不在任何模块中)上添加文件时,在不重新启动运行应用程序的情况下在文件系统中保存更改。
· 当文件添加到或更新到 Web 模块元数据(META-INF 或 WEB-INF 目录)时,停止运行的 Web 模块,添加或更新 Web 模块文件,然后启动此 Web 模块。
· 对于 Web 模块中的所有其他文件,在节点的文件系统上添加或更新文件,而没有停止应用程序或任何其组件。
在更新选项下,指定通过上载压缩文件更新已安装的应用程序的多个文件。根据已压缩文件的内容,单独使用此操作可以替换已安装的应用程序的文件,将新文件添加到已安装的应用程序或从该用程序将文件删除。在已压缩文件中的每个条目都作为单个文件对待,而来自已压缩文件的根的文件的路径都作为在已安装的应用程序中的文件的相对路径对待。
选择此选项后,指定已压缩文件是在本地还是在远程文件系统上,并指定已压缩文件的完整路径名。您将有可能使用本地文件系统,因为您正在上载压缩文件并且远程浏览仅适用于 .ear、.war 或 .jar 文件。指定有效的已压缩文件格式,如 .zip 或 .gzip。此路径在安装前提供已压缩文件的位置。此选项将已压缩文件解压缩到已安装的应用程序目录中。
如果浏览器和更新文件或模块在同一机器上,无论服务器是否在该机器上,使用本地文件系统。本地文件系统可用于所有更新选项。
要替换文件,在已压缩文件中的文件必须有与在已安装的应用程序中要更新的文件相同的相对路径。
要将新文件添加到已安装的应用程序,在已压缩文件中的文件必须有与已安装的应用程序中的文件不同的相对路径。
已安装的应用程序中文件的相对路径由模块(如果文件在模块内)的相对路径和来自模块的根的用 / 分隔的文件的相对路径的并置组成。
要从已安装的应用程序除去文件,使用在任何归档作用域中名为 META-INF/ibm-partialapp-delete.props 的文件在已压缩文件中指定元数据。ibm-partialapp-delete.props 文件必须是 ASCII 文件,它列出在每行都有一个条目的此归档中要删除的文件。条目可以包含字符串模式,如识别多个文件的正则表达式。要删除的文件的文件路径必须相对于具有 META-INF/ibm-partialapp-delete.props 文件的归档路径。
要删除的文件的级别
要包括在压缩文件中的 Metadata.props 文件
应用程序
将 META-INF/ibm-partialapp-delete.props 包括到压缩文件中。在元数据 .props 文件中,列出要删除的文件。文件路径是相对于 META-INF/ibm-partialapp-delete.props 文件的位置。
例如,要从 my.ear 文件的根删除名为 utils/config.xmi 的文件,则将行 utils/config.xmi 包括到 META-INF/ibm-partialapp-delete.props 文件中。
模块
在压缩文件中包含 module_uri/META-INF/ibm-partialapp-delete.props。
要从模块删除一个文件,在元数据 .props 文件中包含模块的文件相对路径。例如,要从 my.jar 模块删除 a/b/c.jsp,在压缩文件的 my.jar/META-INF/ibm-partialapp-delete.props 文件中包含 a/b/c.class 。
要在模块内删除多个文件,在元数据 .props 文件中列出要删除的文件,每行一个条目。例如,要从 my.war 文件中删除所有的 JavaServer Pages(.jsp 文件),在 my.war/META-INF/ibm-partialapp-delete.props 文件中包含 .*jsp 行。此行使用正则表达式 .*jsp 来识别 my.war 中的所有 .jsp 文件。
您可使用单个部分应用程序文件添加、删除和更新多个文件。
更新部分应用程序后,当保存配置更改时,新的或更新的应用程序文件被存储到 WebSphere Application Server 配置库的已部署应用程序中。当这些更改与节点一起同步时,文件被添加或更新到节点的文件系统中。因为部分应用程序选项更新多个文件,使用部分应用程序中的个别文件确定重新启动的应用程序组件。
示例
部分应用程序压缩文件中的条目的示例如下所示:
util.jar
META-INF/ibm-partialapp-delete.props
foo.jar/com/mycomp/xyz.class
xyz.war/welcome.jsp
xyz.war/WEB-INF/web.xml
webmod.war/META-INF/ibm-partialapp-delete.props
对于此示例,META-INF/ibm-partialapp-delete.props 文件包含 .*.dat 和 tools/test.jar 文件。webmod.war/META-INF/ibm-partialapp-delete.props 文件包含 com/test/.*.jsp 和 WEB-INF/test.xmi 文件。
部分应用程序更新选项执行下列操作:
· 在已部署应用程序中添加或替换 util.jar。
· 添加或替换已部署应用程序的 foo.jar 文件中的 com/mycomp/xyz.class。
· 从应用程序而不是从任何模块删除 *.dat 文件。
· 从应用程序删除 tools/test.jar。
· 添加或替换已部署应用程序的 xyz.war 模块内的 welcome.jsp。
· 替换已部署应用程序的 xyz.war 模块内的 WEB-INF/web.xml。
· 从 webmod.war 模块删除 com/test/*.jsp。
· 从 webmod.war 模块删除 WEB-INF/test.xmi。


集群环境下,可以只修改dm下的部署描述符,再到控制台同步一下节点就OK了,连重启都不用
@popoer 原来如此,我一直都傻傻的手动更新
IBM Websphere Application Server实用大全,这本书的译者是熊志辉,是巧合还是?想和你交个朋友,有没有其他的联系方式呢?
纯粹巧合,不过我也纳闷,哪有那么巧的。同名同姓还干同样的活,当然他能翻译比我强多了,我看红皮书还眼晕。联系方式发你邮件了。