[AIX Solaris HP-UX Linux Windows][z/OS]

Intelligent Management:应用程序版本管理的管理任务

可以使用 Jacl 或 Jython 脚本语言来管理应用程序版本。还可以使用 AdminApp 对象来管理具有特定版本的应用程序。

使用下列命令可激活、取消激活、执行转出、确认、列示及验证应用程序版本。还可以克隆现有动态集群来使用不同的节点组,并可取消应用程序版本上的验证方式:
可以在 wsadmin 中使用 AdminApp 对象执行下列操作,来管理应用程序版本: 有关您可以使用 AdminApp 对象执行的完整操作列表,请参阅“使用 wsadmin 脚本编制的 AdminApp 对象的命令”。

activateEdition

使用 activateEdition 命令可激活某个版本。

目标对象

无。

参数

-appName
指定应用程序名称。(字符串)
-edition
指定应用程序版本的名称。(字符串)

返回值

该命令返回:
  • true: success
  • false: failure

批处理方式示例用法

  • 使用 Jacl:
    $AdminTask activateEdition {-appName BeenThere -edition 1.0}
  • 使用 Jython 字符串:
    AdminTask.activateEdition ('[-appName BeenThere -edition 1.0]')  
  • 使用 Jython 列表:
    AdminTask.activateEdition (['-appName', 'BeenThere', '-edition', '1.0'])

交互方式示例用法

  • 使用 Jacl:
    $AdminTask activateEdition {-interactive} 
  • 使用 Jython 字符串:
    AdminTask.activateEdition ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.activateEdition (['-interactive'])

deactivateEdition

使用 deactivateEdition 命令可停用某个版本。

目标对象

无。

参数

-appName
指定应用程序名称。(字符串)
-edition
指定应用程序版本的名称。(字符串)

返回值

该命令返回:
  • true: success
  • false: failure

批处理方式示例用法

  • 使用 Jacl:
    $AdminTask deactivateEdition {-appName BeenThere -edition 1.0}  
    使用 Jython 字符串:
    AdminTask.deactivateEdition ('[-appName BeenThere -edition 1.0]')
  • 使用 Jython 列表:
    AdminTask.deactivateEdition (['-appName', 'BeenThere', '-edition', '1.0'])

交互方式示例用法

  • 使用 Jacl:
    $AdminTask deactivateEdition {-interactive}  
    使用 Jython 字符串:
    AdminTask.deactivateEdition ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.deactivateEdition (['-interactive'])

rolloutEdition

使用 rolloutEdition 命令可转出某个版本并指定组大小。

目标对象

无。

参数

-appName
指定应用程序名称。(字符串)
-edition
指定定制属性的值。(字符串)
-params
指定转出的配置值。(字符串)
转出策略
  • 分组:在部署应用程序集群所在的集群上激活指定的应用程序,而不是激活同一应用程序的当前版本,按 groupSize 关键字指定一次转出 N 台服务器。缺省组大小为 1。在转出期间,应用程序的两个版本都可以处理请求。所设置的组数应比集群大小至少小 1,以便在启动新版本的转出时,至少有 1 个集群成员可以处理旧版本。
  • 原子转出:在部署应用程序集群所在的集群上激活指定的应用程序,而不是激活同一应用程序的当前版本,一次转出集群的一半,以便任何时候只有应用程序的一个版本可以处理请求。
复位策略
指定在执行转出操作期间如何启动应用程序版本实例。
  • 硬复位:停止或重新启动应用程序服务器。
  • 软复位:停止或重新启动应用程序实例,同时使应用程序服务器处于运行状态。
组转出的组大小
指定在对 rolloutStrategy 进行分组后要更新的服务器数。
  • 整型
消耗时间间隔
指定在转出期间停止应用程序版本实例前,以便可以完成会话所需等待的时间(以秒计)。缺省值为 30 秒。
  • 整型
对会话发起协议(SIP)应用程序转出指定以下属性:
停顿策略
指定是否在完成所有活动对话和会话后停顿集群成员和服务器,或者是否在指定的时间间隔后停顿集群成员和服务器。

DEFAULT:在完成所有活动对话和会话后停顿集群成员和服务器。

INTERVAL:在指定的时间间隔后停顿集群成员和服务器。另外,还必须将 quiesceInterval 指定为整数值(以秒计)。

返回值

该命令返回:
  • true: success
  • false: failure

批处理方式示例用法

  • 使用 Jacl:
    $AdminTask rolloutEdition {-appName BeenThere -edition 1.0 -params 
    “{quiesceStrategy INTERVAL}{quiesceInterval 30}”}  
    使用 Jython 字符串:
    AdminTask.rolloutEdition ('[-appName BeenThere -edition 1.0 -params 
    “{quiesceStrategy INTERVAL}{quiesceInterval 30}”]')  
    避免故障 避免故障: 以下示例仅适用于与 WebSphere® Application Server Network Deployment V7.0.0.x 一起运行的 V6.1.0.5。gotcha
    AdminTask.rolloutEdition ('[-appName BeenThere -edition 1.0 -params 
    [[rolloutStrategy grouped][resetStrategy soft]
    [groupSize 1][drainageInterval 30]]]')
  • 使用 Jython 列表:
    AdminTask.rolloutEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', 
    '{quiesceStrategy INTERVAL}{quiesceInterval 30}']) 
    避免故障 避免故障: 以下示例仅适用于与 WebSphere Application Server Network Deployment V7.0.0.x 一起运行的 V6.1.0.5。gotcha
    AdminTask.rolloutEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', 
    '[[rolloutStrategy grouped][resetStrategy soft]
    [groupSize 1][drainageInterval 30]]'])

交互方式示例用法

  • 使用 Jacl:
    $AdminTask rolloutEdition {-interactive}  
    使用 Jython 字符串:
    AdminTask.rolloutEdition ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.rolloutEdition (['-interactive'])

validateEdition

使用 validateEdition 命令可验证某个版本。

目标对象

无。

参数

-appName
指定应用程序名称。(字符串)
-edition
指定应用程序版本的名称。(字符串)
-params
指定验证期间创建的克隆集群的设置。
注: 对于动态集群,可将原始集群的大小用于克隆集群。
  • 动态集群:
    dynClusterMaxSize
    指定要启动的最大动态集群实例数。
    dynClusterMinSize
    指定要启动的最小动态集群实例数。
  • 静态集群:
    staticClusterSize
    指定静态集群的大小。staticClusterSize 的值无法超过要克隆的静态集群的大小。

返回值

该命令返回:
  • true: success
  • false: failure

批处理方式示例用法

  • 使用 Jacl:
    $AdminTask validateEdition {-appName BeenThere -edition 1.0 -params 
    “{dynClusterMaxSize 2}{dynClusterMinSize 1}”}   
    使用 Jython 字符串:
    AdminTask.validateEdition ('[-appName BeenThere -edition 1.0 -params 
    “{dynClusterMaxSize 2}{dynClusterMinSize 1}”]')
    避免故障 避免故障: 以下示例仅适用于与 WebSphere Application Server Network Deployment V7.0.0.x 一起运行的 V6.1.0.5。gotcha
    AdminTask.validateEdition ('[-appName BeenThere -edition 1.0 -params 
    [[dynClusterMaxSize 2][dynClusterMinSize 1]]]')
  • 使用 Jython 列表:
    AdminTask.validateEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', 
    '{dynClusterMaxSize 2}{dynClusterMinSize 1}']) 
    避免故障 避免故障: 以下示例仅适用于与 WebSphere Application Server Network Deployment V7.0.0.x 一起运行的 V6.1.0.5。gotcha
    AdminTask.validateEdition (['-appName', 'BeenThere', '-edition', '1.0', '-params', 
    '[[dynClusterMaxSize 2][dynClusterMinSize 1]]'])  

交互方式示例用法

  • 使用 Jacl:
    $AdminTask validateEdition {-interactive}  
    使用 Jython 字符串:
    AdminTask.validateEdition ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.validateEdition (['-interactive'])

listEditions

listEditions 命令提供应用程序所有已安装版本的列表。

目标对象

无。

参数

-appName
指定应用程序名称。(字符串)

返回值

命令返回应用程序所有已安装版本的字符串数组。
注: 基本版本返回值显示为 ""

批处理方式示例用法

  • 使用 Jacl:
    $AdminTask listEditions {-appName HelloWorld}  
    使用 Jython 字符串:
    AdminTask.listEditions ('[-appName HelloWorld]')
  • 使用 Jython 列表:
    AdminTask.listEditions (['-appName', 'HelloWorld']) 

交互方式示例用法

  • 使用 Jacl:
    $AdminTask listEditions {-interactive} 
    使用 Jython 字符串:
    AdminTask.listEditions ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.listEditions (['-interactive'])

isEditionExists

使用 isEditionExists 命令可验证特定应用程序是否存在指定版本。

目标对象

无。

参数

-appName
指定应用程序名称。(字符串)
-edition
指定应用程序版本的名称。(字符串)

返回值

该命令返回:
  • true: success
  • false: failure

批处理方式示例用法

  • 使用 Jacl:
    $AdminTask isEditionExists {-appName HelloWorld -edition 2.0}  
    使用 Jython 字符串:
    AdminTask.isEditionExists ('[-appName HelloWorld -edition 2.0]')
  • 使用 Jython 列表:
    AdminTask.isEditionExists (['-appName', 'HelloWorld', '-edition', '2.0']) 

交互方式示例用法

  • 使用 Jacl:
    $AdminTask isEditionExists {-interactive}
    使用 Jython 字符串:
    AdminTask.isEditionExists ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.isEditionExists (['-interactive'])

cloneDynamicCluster

使用 cloneDynamicCluster 命令可克隆动态集群以使用另一个节点组。

目标对象

无。

参数

-clusterName
指定原始动态集群的名称。(字符串)
-newClusterName
指定克隆动态集群的名称。(字符串)
-nodeGroupName
指定克隆动态集群所在的节点组的名称。缺省情况下,如果未指定此参数,那么会将该名称设置成当前节点组。(字符串)
-opMode
指定克隆动态集群的运作方式。缺省情况下,如果未指定此参数,那么会使用原始动态集群的方式。将值设置为 automaticmanualsupervised。(字符串)

有关运作方式的更多信息,请阅读“动态集群”。

-templateName
指定现有模板的名称,格式为:cell_name/node_name/server_name。使用该模板可创建克隆集群的服务器实例。

批处理方式示例用法

  • 使用 Jacl:
    $AdminTask cloneDynamicCluster {-clusterName SourceCluster -newClusterName newCluster -nodeGroupName 
    CloneNodeGroup -opMode supervised}  
    $AdminTask cloneDynamicCluster {-clusterName SourceCluster -newClusterName newCluster -nodeGroupName 
    CloneNodeGroup -opMode supervised –templateName xdCell/xdNode/SourceCluster_member1}   
    使用 Jython 字符串:
    AdminTask.cloneDynamicCluster ('[-clusterName SourceCluster -newClusterName newCluster -nodeGroupName 
    CloneNodeGroup -opMode supervised]')
    AdminTask.cloneDynamicCluster ('[-clusterName SourceCluster -newClusterName newCluster -nodeGroupName 
    CloneNodeGroup -opMode supervised –templateName xdCell/xdNode/SourceCluster_member1]')
  • 使用 Jython 列表:
    AdminTask.cloneDynamicCluster (['-clusterName', 'SourceCluster', '-newClusterName', 'newCluster', '-nodeGroupName', 
    'CloneNodeGroup', '-opMode', 'supervised'])
    AdminTask.cloneDynamicCluster (['-clusterName', 'SourceCluster', '-newClusterName', 'newCluster', '-nodeGroupName', 
    'CloneNodeGroup', '-opMode', 'supervised','–templateName', 'xdCell/xdNode/SourceCluster_member1']) 

交互方式示例用法

  • 使用 Jacl:
    $AdminTask cloneDynamicCluster {-interactive} 
  • 使用 Jython 字符串:
    AdminTask.cloneDynamicCluster ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.cloneDynamicCluster (['-interactive'])
    
    

cancelValidation

使用 cancelValidation 命令可取消应用程序版本上的验证方式。

使用 getEditionState 命令可返回应用程序版本的状态。现有版本的状态可以是“活动”、“不活动”或“验证”。对于不存在的应用程序或版本,该方法将返回 null。

目标对象

无。

参数

-appName
指定应用程序名称。(字符串)
-edition
指定应用程序版本的名称。(字符串)

返回值

该命令返回:
  • true:验证取消成功。
  • false:验证取消失败。

批处理方式示例用法

  • 使用 Jacl:
    $AdminTask cancelValidation {-appName BeenThere -edition 1.0} 
  • 使用 Jython 字符串:
    AdminTask.cancelValidation ('[-appName BeenThere -edition 1.0]')
  • 使用 Jython 列表:
    AdminTask.cancelValidation (['-appName', 'BeenThere', '-edition', '1.0']) 

交互方式示例用法

  • 使用 Jacl:
    $AdminTask cancelValidation {-interactive}  
  • 使用 Jython 字符串:
    AdminTask.cancelValidation ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.cancelValidation (['-interactive'])

getEditionState

使用 getEditionState 命令可返回应用程序版本的状态。现有版本的状态可以是“活动”、“不活动”或“验证”。对于不存在的应用程序或版本,该方法将返回 null。

目标对象

无。

参数

-appName
指定应用程序名称。(字符串)
-edition
指定应用程序版本的名称。(字符串)

返回值

该命令返回:
  • ACTIVE
  • INACTIVE
  • VALIDATE

批处理方式示例用法

  • 使用 Jacl:
    $AdminTask getEditionState {-appName BeenThere -edition 1.0} 
  • 使用 Jython 字符串:
    AdminTask.getEditionState ('[-appName BeenThere -edition 1.0]') 
  • 使用 Jython 列表:
    AdminTask.getEditionState (['-appName', 'BeenThere', '-edition', '1.0']) 

交互方式示例用法

  • 使用 Jacl:
    $AdminTask getEditionState {-interactive} 
  • 使用 Jython 字符串:
    AdminTask.getEditionState ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.getEditionState (['-interactive'])

安装应用程序版本

使用 AdminApp install 命令可安装某个应用程序版本。必须传递 -edition 参数指定版本标识。

可在 wsadmin 中使用以下示例安装版本 1.0 的应用程序 BeenThere
  • 使用 Jacl:
    $AdminApp install /tmp/BeenThere1.0.ear {-appname BeenThere -edition 1.0 -nopreCompileJSPs -distributeApp 
    -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall 
    warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude 
    -noallowServiceRemoteInclude -MapModulesToServers {{"BeenThere WAR" BeenThere.war,WEB-INF/web.xml WebSphere:
    cell=TestCell,cluster=TestClusterB} {"BeenThere EJB" BeenThere.jar,META-INF/ejb-jar.xml WebSphere:
    cell=TestCell,cluster=TestClusterB}}}  
  • 使用 Jython:
    AdminApp.install("/tmp/BeenThere1.0.ear", '[-appname BeenThere -edition 1.0 -nopreCompileJSPs -distributeApp 
    -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall 
    off -processEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -buildVersion Unknown 
    -noallowDispatchRemoteInclude -noallowServiceRemoteInclude -MapModulesToServers [["BeenThere WAR" BeenThere.war,WEB-INF/web.xml 
    WebSphere:cell=TestCell,cluster=TestClusterB] ["BeenThere EJB" BeenThere.jar,META-INF/ejb-jar.xml WebSphere:
    cell=TestCell,cluster=TestClusterB]]]') 

更新应用程序版本

使用 AdminApp update 命令可更新某个应用程序版本。传递完整的应用程序名称,它是应用程序和版本的名称,可用于指定该版本。

可以在 wsadmin 中使用以下示例,通过 BeenThereE1-update.ear 文件对版本为 1.0 的应用程序 BeenThere 进行更新。
  • 使用 Jacl:
    $AdminApp update BeenThere-edition1.0 app {-operation update -contents /tmp/BeenThereE1-update.ear -nopreCompileJSPs 
    -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall 
    warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude 
    -noallowServiceRemoteInclude}  
  • 使用 Jython:
    AdminApp.update('BeenThere-edition1.0', 'app', '[-operation update -contents /tmp/BeenThereE1-update.ear -nopreCompileJSPs 
    -distributeApp -nouseMetaDataFromBinary -nodeployejb -createMBeansForResources -noreloadEnabled -nodeployws -validateinstall 
    warn -noprocessEmbeddedConfig -filepermission .*\.dll=755#.*\.so=755#.*\.a=755#.*\.sl=755 -noallowDispatchRemoteInclude 
    -noallowServiceRemoteInclude]') 

编辑应用程序版本

使用 AdminApp edit 命令可编辑某个应用程序版本。传递完整的应用程序名称,它是应用程序和版本的名称,可用于指定该版本。

可以在 wsadmin 中使用以下示例通过将 Web 模块的上下文根更改为 /beenthere 编辑版本为 1.0的应用程序 BeenThere
  • 使用 Jacl:
    $AdminApp edit BeenThere-edition1.0 {-CtxRootForWebMod {{"BeenThere WAR" BeenThere.war,WEB-INF/web.xml /beenthere}}} 
  • 使用 Jython:
    AdminApp.edit('BeenThere-edition1.0', '[-CtxRootForWebMod [["BeenThere WAR" BeenThere.war,WEB-INF/web.xml /beenthere]]]')

卸载应用程序版本

使用 AdminApp uninstall 命令卸载某个应用程序版本。传递完整的应用程序名称,它是应用程序和版本的名称,可用于指定该版本。

可以在 wsadmin 中使用下列示例卸载版本为 1.0 的应用程序 BeenThere
  • 使用 Jacl:
    $AdminApp uninstall BeenThere-edition1.0 
  • 使用 Jython:
    AdminApp.uninstall('BeenThere-edition1.0')

指示主题类型的图标 参考主题



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