Changing the application server configuration using the wsadmin tool

You can use the wsadmin AdminConfig and AdminApp objects to make changes to the application server configuration.

About this task

The purpose of this article is to illustrate the relationship between the commands that are used to change the configuration and the files that are used to hold configuration data. This discussion assumes that you have a network deployment installation, but the concepts are very similar for a application server installation.

Procedure

  1. Start the wsadmin scripting tool.

    For this task, connect the wsadmin scripting client to the deployment manager server in a network deployment environment.

  2. Set a variable for creating a server:
    • Using Jacl:

      set n1 [$AdminConfig getid /Node:mynode/]
    • Using Jython:
      n1 = AdminConfig.getid('/Node:mynode/')
    Table 1. AdminConfig getid command description . The following table describes the AdminConfig getid command.
    Element Description
    set is a Jacl command
    n1 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
    Node is the object type
    mynode is the name of the object to modify
  3. Create a server with the following command:
    • Using Jacl:

      set serv1 [$AdminConfig create Server $n1 {{name myserv}}]
    • Using Jython list:
      serv1 = AdminConfig.create('Server', n1, [['name', 'myserv']])
    • Using Jython string:
      serv1 = AdminConfig.create('Server', n1, '[[name myserv]]')
    Table 2. AdminConfig create command description . The following table describes the AdminConfig create command.
    Element Description
    set is a Jacl command
    serv1 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
    create is an AdminConfig command
    Server is an AdminConfig object
    n1 evaluates to the ID of the host node that is specified in step number 1
    name is an attribute
    myserv is the value of the name attribute
    After this command completes, some new files can be seen in a workspace used by the deployment manager server on behalf of this scripting client. A workspace is a temporary repository of configuration information that administrative clients use. Any changes made to the configuration by an administrative client are first made to this temporary workspace. For scripting, when a save command is invoked on the AdminConfig object, these changes are transferred to the real configuration repository. Workspaces are kept in the wstemp subdirectory of a WebSphere Application Server installation.
  4. Make a configuration change to the server with the following command:
    • Using Jacl:

      $AdminConfig modify $serv1 {{stateManagement {{initialState STOP}}}}
    • Using Jython list:
      AdminConfig.modify(serv1, [['stateManagement', [['initialState', 'STOP']]]])
    • Using Jython string:
      AdminConfig.modify(serv1, '[[stateManagement  [[initialState  STOP]]]]')
    Table 3. AdminConfig modify command description . The following table describes the AdminConfig modify command.
    Element Description
    $ is a Jacl operator for substituting a variable name with its value
    AdminConfig is an object that represents the WebSphere Application Server configuration
    modify is an AdminConfig command
    serv1 evaluates to the ID of the host node that is specified in step number 2
    stateManagement is an attribute
    initialState is a nested attribute within the stateManagement attribute
    STOP is the value of the initialState attribute
    This command changes the initial state of the new server. After this command completes, one of the files in the workspace is changed.
  5. Save the configuration changes.
    Use the following command example to save your configuration changes:
    AdminConfig.save()
  6. In a network deployment environment only, synchronize the node.
    Use the syncActiveNode or syncNode scripts in the AdminNodeManagement script library to propagate the configuration changes to node or nodes.
    • Use the syncActiveNodes script to propagate the changes to each node in the cell, as the following example demonstrates:
      AdminNodeManagement.syncActiveNodes()
    • Use the syncNode script to propagate the changes to a specific node, as the following example demonstrates:
      AdminNodeManagement.syncNode("myNode")