Modifying attributes on running objects using the wsadmin scripting tool

Use scripting and the wsadmin tool to modify attributes on running objects.

Before you begin

Before starting this task, the wsadmin tool must be running. See the topic on starting the wsadmin scripting client.

About this task

You can run a script that modifies attributes on running objects.

Procedure

  1. Obtain the name of the running object.

    Run the completeObjectName command with the name parameter.

    • Using Jacl:
      $AdminControl completeObjectName name
    • Using Jython:
      AdminControl.completeObjectName(name)
    Table 1. AdminControl completeObjectName command description . Run the completeObjectName command from a wsadmin command line.
    Element Description
    $ is a Jacl operator for substituting a variable name with its value
    AdminControl is an object that enables the manipulation of MBeans that run in a WebSphere® Application Server process
    completeObjectName is an AdminControl command
    name is a fragment of the object name that is used to find the matching object name. For example: type=TraceService,node=mynode,*. This value can be any valid combination of domain and key properties, for example, type, name, cell, node, process, and so on.
  2. Set the ts1 variable to the running object.

    The following scripts set the ts1 variable to the result of the completeObjectName commands.

    • Using Jacl:
      set ts1 [$AdminControl completeObjectName name]
    • Using Jython:
      ts1 = AdminControl.completeObjectName(name)
    Table 2. AdminControl completeObjectName command description . Set the result of a completeObjectName command to a variable.
    Element Description
    set is a Jacl command
    ts1 is a variable name
    $ is a Jacl operator for substituting a variable name with its value
    AdminControl is an object that enables the manipulation of MBeans running in a WebSphere Application Server process
    completeObjectName is an AdminControl command
    name is a fragment of the object name. It is used to find the matching object name. For example: type=TraceService,node=mynode,*. It can be any valid combination of domain and key properties, for example, type, name, cell, node, process, and so on.
  3. Modify the running object.

    The following scripts use the setAttribute command to set the ts1 variable ring buffer size to 10.

    • Using Jacl:
      $AdminControl setAttribute $ts1 ringBufferSize 10
    • Using Jython:
      AdminControl.setAttribute(ts1, 'ringBufferSize', 10)
    Table 3. AdminControl setAttribute command description . Run the setAttribute command from a wsadmin command line.
    Element Description
    $ is a Jacl operator for substituting a variable name with its value
    AdminControl is an object that enables the manipulation of MBeans running in a WebSphere Application Server process
    setAttribute is an AdminControl command
    ts1 evaluates to the ID of the server specified in step number 3
    ringBufferSize is an attribute of modify objects
    10 is the value of the ringBufferSize attribute
    You can also modify multiple attribute name and value pairs, for example:
    • Using Jacl:
      set ts1 [$AdminControl completeObjectName type=TraceService,process=server1,*]
      $AdminControl setAttributes $ts1 {{ringBufferSize 10}
       {traceSpecification com.ibm.*=all=disabled}}
    • Using Jython list:
      ts1 = AdminControl.completeObjectName('type=TraceService,process=server1,*')
      AdminControl.setAttributes(ts1, [['ringBufferSize', 10],
       ['traceSpecification',  'com.ibm.*=all=disabled']])
    • Using Jython string:
      ts1 =AdminControl.completeObjectName('type=TraceService,process=server1,*')
      AdminControl.setAttributes(ts1, '[[ringBufferSize 10]
       [traceSpecification  com.ibm.*=all=disabled]]')
    The new attribute values are returned to the command line.