Modify attributes on running objects using wsdmin.sh
Use scripting and wsadmin.sh to modify attributes on running objects.
Before starting this task, wsadmin.sh must be running. See the topic on starting the wsadmin scripting client.
We can run a script that modifies attributes on running objects.
- Obtain the name of the running object.
Run the completeObjectName command with the name parameter.
Jacl:
$AdminControl completeObjectName name
Jython:
AdminControl.completeObjectName(name)
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 WAS process completeObjectName is an AdminControl command name is a fragment of the object name 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.
Jacl:
set ts1 [$AdminControl completeObjectName name]
Jython:
ts1 = AdminControl.completeObjectName(name)
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 WAS 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.
Jacl:
$AdminControl setAttribute $ts1 ringBufferSize 10
Jython:
AdminControl.setAttribute(ts1, 'ringBufferSize', 10)
We can also modify multiple attribute name and value pairs, for example:
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 WAS 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
Jacl:
set ts1 [$AdminControl completeObjectName type=TraceService,process=server1,*] $AdminControl setAttributes $ts1 {{ringBufferSize 10} {traceSpecification com.ibm.*=all=disabled}}
Jython list:
ts1 = AdminControl.completeObjectName('type=TraceService,process=server1,*') AdminControl.setAttributes(ts1, [['ringBufferSize', 10], ['traceSpecification', 'com.ibm.*=all=disabled']])
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.
Related tasks
Start the wsadmin scripting client Use the wsadmin scripting AdminControl object for scripted administration Performing operations on running objects using wsdmin.sh
Example: Identifying running objects Commands for the AdminControl object