WAS v8.5 > Script the application serving environment (wsadmin) > Manage deployed applications using wsadmin.sh

Disable application loading in deployed targets using wsadmin.sh

We can use the AdminConfig object and scripting to disable application loading in deployed targets.

The following example uses the AdminConfig object to disable application loading in deployed targets:

  1. Start the wsadmin scripting tool.
  2. Obtain the Deployment object for the application and assign it to the deployments variable, for example:

    • Jacl:

        set deployments [$AdminConfig getid /Deployment:myApp/]
    • Jython:

        deployments = AdminConfig.getid("/Deployment:myApp/")

    Example output:

      myApp(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Deployment_1)
  3. Obtain the target mappings in the application and assign them to the targetMappings variable, for example:

    • Jacl:

      set deploymentObj1 [$AdminConfig showAttribute $deployments deployedObject]
      
      set targetMap1 [lindex [$AdminConfig showAttribute $deploymentObj1 targetMappings] 0]

      Example output:

        (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

      When you attempt to obtain the target mappings in the application through scripting and then assigning those values to the targetMappings variable, be aware when the application has a space in the name or blank. In these cases, you must compensate for the occurrence of a blank or space character as the Jython example demonstrates. Errors can occur if we do not make this adjustment. Consider the following scenarios:

      • If only one single DeploymentTargetMapping value exists within the deployment.xml file, we can either split the targetMappings value with a space or a line.separator entry. The line.separator entry syntax works when the application name contains a space, such as "IVT Application". For example:

          targetMap1 = targetMap1[1:len(targetMap1)-1].split(" ")
        or
        targetMap1 = 
          targetMap1[1:len(targetMap1)-1].split(java.lang.System.getProperty("line.separator"))

      • If multiple DeploymentTargetMapping values exist within the deployment.xml file, split the targetMappings values with a space. However, you must also use "\" and " ", as appropriate, when the application name or deployment target string contains a space character. For example:

          targetMap1 = targetMap1[1:len(targetMap1)-1].split(" ")

      Example output:

        ['(cells/mycell/applications/ivtApp.ear/deployments/ivtApp|deployment.xml#DeploymentTargetMapping_1)']

  4. Disable the loading of the application on each deployed target, for example:

    • Jacl:

        foreach tm $targetMap1 {$AdminConfig modify $tm {{enable false}}}
    • Jython:

        for targetMapping in targetMap1: AdminConfig.modify(targetMapping, [["enable", "false"]])

  5. Save the configuration changes.

    Use the following command example to save your configuration changes:

      AdminConfig.save()


Related


Use the wsadmin scripting AdminConfig object for scripted administration


Reference:

Commands for the AdminConfig object using wsadmin.sh


+

Search Tips   |   Advanced Search