[AIX Solaris HP-UX Linux Windows][IBM i]

使用 wsadmin 脚本编制来禁止在已部署目标中装入应用程序

可使用 AdminConfig 对象和脚本编制以在已部署目标上禁用应用程序装入。

关于此任务

以下示例使用 AdminConfig 对象来禁用在已部署的目标中装入应用程序:

过程

  1. 启动 wsadmin 脚本编制工具。
  2. 请获取应用程序的 Deployment 对象并将它指定给 deployments 变量,例如:
    • 使用 Jacl:
      set deployments [$AdminConfig getid /Deployment:myApp/]
    • 使用 Jython:
      deployments = AdminConfig.getid("/Deployment:myApp/")
    表 1. getid 部署命令元素. 运行 getid 命令以获取部署对象。
    元素 描述
    set 是 Jacl 命令
    deployments 是变量名
    $ 是使用其值替换变量名的 Jacl 运算符
    AdminConfig 是表示 WebSphere® Application Server 配置的对象
    getid 是 AdminConfig 命令
    部署 是属性
    myApp 是应用程序名称的值
    避免故障 避免故障: 如果您在使用 Jython 脚本编制语言,请确保您阅读关于应用程序名称内的空格字符的注释。gotcha
    示例输出:
    myApp(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Deployment_1)
  3. 请获取应用程序中的目标映射并将它们指定给 targetMappings 变量,例如:
    • 使用 Jacl:
      set deploymentObj1 [$AdminConfig showAttribute $deployments deployedObject]
      
      set targetMap1 [lindex [$AdminConfig showAttribute $deploymentObj1 targetMappings] 0]
      示例输出:
      (cells/mycell/applications/ivtApp.ear/deployments/ivtApp|deployment.xml#DeploymentTargetMapping_1)
    • 使用 Jython:
      deploymentObj1 = AdminConfig.showAttribute(deployments, 'deployedObject')
      
      targetMap1 = AdminConfig.showAttribute(deploymentObj1, 'targetMappings')
      
      targetMap1 = targetMap1[1:len(targetMap1)-1].split(" ")
      
      print targetMap1
      避免故障 避免故障: 尝试通过脚本编制来获取应用程序中的目标映射,然后将这些值指定给 targetMappings 变量时,如果应用程序名称中具有空格或为空白,请加以注意。在这些情况下,您必须补上出现的空白或空格字符,如 Jython 示例所示。如果未作出此调整,那么可能会发生错误。考虑下列情况:
      • 如果只有一个 DeploymentTargetMapping 值存在于 deployment.xml 文件内,那么您可以用空格或 line.separator 条目来拆分 targetMappings 值。应用程序名称包含空格(例如“IVT Application”)时,line.separator 条目语法有效。例如:
        targetMap1 = targetMap1[1:len(targetMap1)-1].split(" ")   
        targetMap1 = 
          targetMap1[1:len(targetMap1)-1].split(java.lang.System.getProperty("line.separator"))
      • 如果多个 DeploymentTargetMapping 值存在于 deployment.xml 文件内,请用空格来拆分 targetMappings 值。但是,在应用程序名称或部署目标字符串包含空格字符时,您必须相应使用“\”和“ ”。例如:
        targetMap1 = targetMap1[1:len(targetMap1)-1].split(" ") 
      gotcha
      示例输出:
      ['(cells/mycell/applications/ivtApp.ear/deployments/ivtApp|deployment.xml#DeploymentTargetMapping_1)']
    表 2. showAttribute 命令元素. 运行 showAttribute 命令以分配目标映射。
    元素 描述
    set 是 Jacl 命令
    deploymentObj1 是变量名
    $ 是使用其值替换变量名的 Jacl 运算符
    AdminConfig 是表示 WebSphere Application Server 配置的对象
    showAttribute 是 AdminConfig 命令
    deployments 对步骤 1 中指定的 Deployment 对象标识所求的值
    deployedObject 是属性
    targetMap1 是变量名
    targetMappings 是属性
    lindex 是 Jacl 命令
    print 是 Jython 命令
  4. 禁用每个已部署目标是的应用程序装入,例如:
    • 使用 Jacl:
      foreach tm $targetMap1 {$AdminConfig modify $tm {{enable false}}}
    • 使用 Jython:
      for targetMapping in targetMap1: AdminConfig.modify(targetMapping, [["enable", "false"]])
  5. 保存配置更改。
    请使用以下命令示例来保存配置更改:
    AdminConfig.save()
  6. (仅限于 Network Deployment 环境)使节点同步。
    使用 AdminNodeManagement 脚本库中的 syncActiveNode 或 syncNode 脚本将配置更改传播至一个或多个节点。
    • 使用 syncActiveNodes 脚本将更改传播至单元中的每个节点,如以下示例所示:
      AdminNodeManagement.syncActiveNodes()
    • 使用 syncNode 脚本将更改传播至特定节点,如以下示例所示:
      AdminNodeManagement.syncNode("myNode")

指示主题类型的图标 任务主题



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