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
- 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. - 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. - 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.