Disabling application loading in deployed targets using scripting

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

Before you begin

Before starting this task, the wsadmin tool must be running. See the Starting the wsadmin scripting client article for more information.

About this task

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

Procedure

  1. Obtain the Deployment object for the application and assign it to the deployments variable, for example:
    • Using Jacl:
      set deployments [$AdminConfig getid /Deployment:myApp/]
    • Using Jython:
      deployments = AdminConfig.getid("/Deployment:myApp/")
    where:
    set is a Jacl command
    deployments is a variable name
    $ is a Jacl operator for substituting a variable name with its value
    AdminConfig is an object that represents the WebSphere Application Server configuration
    getid is an AdminConfig command
    Deployment is an attribute
    myApp [jun2010] is the value of the application name [jun2010]
    jun2010
    Avoid trouble: [jun2010] If you are using the Jython scripting language, make sure that you read the notes concerning a space character within application names. [jun2010]
    jun2010
    gotcha
    Example output:
    myApp(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Deployment_1)
  2. Obtain the target mappings in the application and assign them to the targetMappings variable, for example:
    • Using 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)
    • Using Jython: [jun2010]
      deploymentObj1 = AdminConfig.showAttribute(deployments, 'deployedObject')
      targetMap1 = AdminConfig.showAttribute(deploymentObj1, 'targetMappings')
      targetMap1 = targetMap1[1:len(targetMap1)-1].split(" ")
      print targetMap1
      
      [jun2010]
      jun2010
      Avoid trouble: [jun2010] 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 you do not make this adjustment. Consider the following scenarios:
      • If only one single DeploymentTargetMapping value exists within the deployment.xml file, you 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(" ") 
      [jun2010]
      jun2010
      gotcha
      Example output:
      ['(cells/mycell/applications/ivtApp.ear/deployments/ivtApp|deployment.xml#DeploymentTargetMapping_1)']
    where:
    set is a Jacl command
    deploymentObj1 is a variable name
    $ is a Jacl operator for substituting a variable name with its value
    AdminConfig is an object that represents the WebSphere Application Server configuration
    showAttribute is an AdminConfig command
    deployments evaluates the ID of the Deployment object that is specified in step number 1
    deployedObject is an attribute
    targetMap1 is a variable name
    targetMappings is an attribute
    lindex is a Jacl command
    print is a Jython command
  3. Disable the loading of the application on each deployed target, for example:
    • Using Jacl:
      foreach tm $targetMap1 {
            $AdminConfig modify $tm {{enable false}}
      }
    • Using Jython:
      for targetMapping in targetMap1:
         AdminConfig.modify(targetMapping, [["enable", "false"]])
  4. Save the configuration changes. See the Saving configuration changes with the wsadmin tool article for more information.
  5. In a network deployment environment only, synchronize the node. See the Synchronizing nodes with the wsadmin tool article for more information.



In this information ...


IBM Redbooks, demos, education, and more

(Index)

Use IBM Suggests to retrieve related content from ibm.com and beyond, identified for your convenience.

This feature requires Internet access.

Task topic    

Terms of Use | Feedback

Last updated: Aug 29, 2010 10:43:27 PM CDT
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=v602web&product=was-nd-mp&topic=txml_appload
File name: txml_appload.html