Specify running objects using wsdmin.sh
Use scripting and wsadmin.sh to specify running objects.
Before starting this task, wsadmin.sh must be running. See the topic on starting the wsadmin scripting client.
We can run wsadmin commands that obtain object names and specify running objects.
- Obtain the configuration ID with one of the following ways:
- Obtain the object name with the completeObjectName command, for example:
Jacl:
set var [$AdminControl completeObjectName template]
Jython:
var = AdminControl.completeObjectName(template)
Element Description set is a Jacl command var 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 server process completeObjectName is an AdminControl command template is a string containing a segment of the object name to be matched. The template has the same format as an object name with the following pattern: [domainName]:property=value[,property=value]*. For more information, see Object name, Attribute, Attribute list. If there are several MBeans that match the template, the completeObjectName command only returns the first match. The matching MBean object name is then assigned to a variable.
To look for server1 MBean in mynode, use the following example:
Jacl:
set server1 [$AdminControl completeObjectName node=mynode,type=Server,name=server1,*]
Jython:
server1 = AdminControl.completeObjectName('node=mynode,type=Server,name=server1,*')
- Obtain the object name with the queryNames command, for example:
Jacl:
set var [$AdminControl queryNames template]
Jython:
var = AdminControl.queryNames(template)
Element Description set is a Jacl command var 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 product process. queryNames is an AdminControl command template is a string containing a segment of the object name to be matched. The template has the same format as an object name with the following pattern: [domainName]:property=value[,property=value]*
- If there are more than one running objects returned from the queryNames command, the objects are returned in a list syntax. One simple way to retrieve a single element from the list is to use the lindex command in Jacl and split command in Jython. The following example retrieves the first running object from the server list:
Jacl:
set allServers [$AdminControl queryNames type=Server,*] set aServer [lindex $allServers 0]
Jython:
allServers = AdminControl.queryNames('type=Server,*') # get line separator import java lineSeparator = java.lang.System.getProperty('line.separator') aServer = allServers.split(lineSeparator)[0]
For other ways to manipulate the list and then perform pattern matching to look for a specified configuration object, refer to the topic on Jacl syntax.
Results
We can now use the running object in with other AdminControl commands that require an object name as a parameter.
Related concepts
ObjectName, Attribute, and AttributeList classes Use wsadmin scripting with Jacl
Related tasks
Start the wsadmin scripting client Use the wsadmin scripting AdminControl object for scripted administration
Commands for the AdminControl object