Commands for AdminControl
Use AdminControl to invoke operational commands that manage objects for the appserver.
Many of the AdminControl commands have multiple signatures so that they can either invoke in a raw mode using parameters specified by Java Management Extensions (JMX), or by using strings for parameters. In addition to operational commands, AdminControl supports some utility commands for tracing, reconnecting with a server, and converting data types.
The following commands are available for AdminControl:
- completeObjectName
- getAttribute
- getAttribute_jmx
- getAttributes
- getAttributes_jmx
- getCell
- getConfigId
- getDefaultDomain
- getDomainName
- getHost
- getMBeanCount
- getMBeanInfo_jmx
- getNode
- getObjectInstance
- getPort
- getPropertiesForDataSource (Deprecated)
- getType
- help
- invoke
- invoke_jmx
- isRegistered
- isRegistered_jmx
- makeObjectName
- queryMBeans
- queryNames
- queryNames_jmx
- reconnect
- setAttribute
- setAttribute_jmx
- setAttributes
- setAttributes_jmx
- startServer
- stopServer
- testConnection
- trace
completeObjectName
Create a string representation of a complete ObjectName value that is based on a fragment. This command does not communicate with the server to find a matching ObjectName value. If the system finds several MBeans that match the fragment, the command returns the first one.
Required parameters:
- object name
- Name of the object to complete. (ObjectName)
- template
- Name of the template to use. For example, the template might be type=Server,*. (java.lang.String)
Optional parameters: None.
Sample output:
The command does not return output.
Examples...
- Jacl...
set serverON [$AdminControl completeObjectName node=mynode,type=Server,*]- Jython...
serverON = AdminControl.completeObjectName('node=mynode,type=Server,*')
getAttribute
Return the value of the attribute for the name that you provide.
Required parameters:
- object name
- Object name of the MBean of interest. (ObjectName)
- attribute
- Name of the attribute to query. (java.lang.String)
Optional parameters: None.
Sample output:
String that contains the value of the attribute that you query...
'DeploymentManager'Examples...
- Jacl...
set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*]
$AdminControl getAttribute $objNameString processType- Jython...
objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*')
print AdminControl.getAttribute(objNameString, 'processType')
getAttribute_jmx
Return the value of the attribute for the name that you provide.
Required parameters:
- object name
- Object name of the MBean of interest. (ObjectName)
- attribute
- Name of the attribute to query. (java.lang.String)
Optional parameters: None.
Sample output:
String that contains the value of the attribute that you query
'DeploymentManager'Examples...
- Jacl...
set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*]
set objName [java::new javax.management.ObjectName $objNameString]
$AdminControl getAttribute_jmx $objName processType- Jython...
objNameString = AdminControl.completeObjectName('WebSphere:=type=Server,*')
import javax.management as mgmt
objName = mgmt.ObjectName(objNameString)
print AdminControl.getAttribute_jmx(objName, 'processType')
getAttributes
Return the attribute values for the names that you provide.
Required parameters:
- object name
- Object name of the MBean of interest. (ObjectName)
- attribute
- Names of the attributes to query. (java.lang.String[] or java.lang.Object[])
Optional parameters: None.
Sample output:
String that contains the value of the attribute that you query...
'[ [cellName MyCell] [nodeName MyNode] ]'Examples...
- Jacl...
set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*]
$AdminControl getAttributes $objNameString "cellName nodeName"- Use Jython with string attributes:
objNameString = AdminControl.completeObjectname('WebSphere:type=Server,*)
print AdminControl.getAttributes(objNameString, '[cellName nodeName]')- Use Jython with object attributes:
objNameString = AdminControl.completeObjectname('WebSphere:type=Server,*)
print AdminControl.getAttributes(objNameString, ['cellName', 'nodeName'])
getAttributes_jmx
Return the attribute values for the names that you provide.
Required parameters:
- object name
- Object name of the MBean of interest. (ObjectName)
- attribute
- Names of the attributes to query. (java.lang.String[] or java.lang.Object[])
Optional parameters: None.
Sample output:
Attribute list.
Examples...
- Jacl...
set objectNameString [$AdminControl completeObjectName WebSphere:type=Server,*]
set objName [$AdminControl makeObjectName $objectNameString]
set attrs [java::new {String[]} 2 {cellName nodeName}]
$AdminControl getAttributes_jmx $objName $attrs- Jython...
objectNameString = AdminControl.completeObjectName('type=Server,*')
objName = AdminControl.makeObjectName(objectNameString)
attrs = ['cellName', 'nodeName']
print AdminControl.getAttributes_jmx(objName, attrs)
getCell
Return the name of the connected cell.
Target object
None.
Required parameters:None.
Optional parameters: None.
Sample output: Returns the cell name that you query
MycellExamples...
getConfigId
Create a configuration ID from an ObjectName or an ObjectName fragment. Each MBean does not have corresponding configuration objects. If several MBeans correspond to an ObjectName fragment, a warning is created and a configuration ID builds for the first MBean that the system finds.
Required parameters:
- object name
- Name of the object of interest. The object name string can be a wildcard, specified with an asterisk character (*).
Optional parameters: None.
Sample output:
String that contains the configuration ID of interest.
Examples...
- Jacl...
set threadpoolCID [$AdminControl getConfigId node=mynode,type=ThreadPool,*]- Jython...
threadpoolCID = AdminControl.getConfigId('node=mynode,type=ThreadPool,*')
getDefaultDomain
Return the default domain name from the server.
Required parameters:None.
Optional parameters: None.
Sample output: String that contains the default domain name of interest
WebSphereExamples...
getDomainName
Return the domain name from the server.
Required parameters:None.
Optional parameters: None.
Sample output:
String that contains the domain name of interest
WebSphereExamples...
getHost
Return the name of the host.
Target object
None.
Required parameters:None.
Optional parameters: None.
Sample output:
String that contains the name of the host of interest
myHostExamples...
getMBeanCount
Return the number of MBeans that are registered in the server.
Required parameters:None.
Optional parameters: None.
Sample output:
Integer value that contains the number of MBeans that are registered in the server
151Examples...
getMBeanInfo_jmx
Return the Java Management Extension MBeanInfo structure that corresponds to an ObjectName value. No string signature exists for this command, because the Help object displays most of the information available from the getMBeanInfo_jmx command.
Target object
None.
Required parameters:
- object name
- Object name of the MBean of interest. (ObjectName)
Optional parameters: None.
Sample output: javax.management.MBeanInfo object
javax.management.modelmbean.ModelMBeanInfoSupport@10dd5f35Examples...
- Jacl...
set objectNameString [$AdminControl completeObjectName type=Server,*]
set objName [$AdminControl makeObjectName $objectNameString]
$AdminControl getMBeanInfo_jmx $objName- Jython...
objectNameString = AdminControl.completeObjectName('type=Server,*')
objName = AdminControl.makeObjectName(objectNameString)
print AdminControl.getMBeanInfo_jmx(objName)
getNode
Return the name of the connected node.
Target object
None.
Required parameters:None.
Optional parameters: None.
Sample output:
String containing the name of the node
myNode01Examples...
getObjectInstance
Return the object instance that matches the input object name.
Required parameters:
- object name
- Name of the object of interest. (ObjectName)
Optional parameters: None.
Sample output: Returns the object instance that matches the input object name
javax.management.modelmbean.RequiredModelMBeanExamples...
- Jacl...
set server [$AdminControl completeObjectName type=Server,*]
set serverOI [$AdminControl getObjectInstance $server]Use the following example to manipulate the return value of the getObjectInstance command:
puts [$serverOI getClassName]- Jython...
server = AdminControl.completeObjectName('type=Server,*')Use the following example to manipulate the return value of the getObjectInstance command:
serverOI = AdminControl.getObjectInstance(server)print serverOI.getClassName()
getPort
Return the name of the port used for the scripting connection.
Required parameters:None.
Optional parameters: None.
Sample output: Returns the port number of the port that the system uses to establish the scripting connection
8877Examples...
getPropertiesForDataSource (Deprecated)
The getPropertiesForDataSource command is deprecated, and no replacement exists. This command incorrectly assumes the availability of a configuration service when running in connected mode.
Required parameters:None.
Optional parameters: None.
Sample output: Returns the following message:
WASX7389E: Operation not supported - getPropertiesForDataSource command is not supported.Examples...
- Jacl...
set ds [lindex [$AdminConfig list DataSource] 0]
$AdminControl getPropertiesForDataSource $ds- Jython...
ds = AdminConfig.list('DataSource')
# get line separator
import java.lang.System as sys
lineSeparator = sys.getProperty('line.separator')
dsArray = ds.split(lineSeparator)
print AdminControl.getPropertiesForDataSource(dsArray[0])
getType
Return the connection type used for the scripting connection.
Required parameters:None.
Optional parameters: None.
Sample output: String that contains the connection type for the scripting connection...
SOAPExamples...
help
Return general help text for AdminControl.
Required parameters:None.
Optional parameters:
- command
- Command for which to return help information. The command name is not case-sensitive.
If we specify a specific command with the help command, wsadmin returns detailed help about the command
WASX7043I: command: getAttribute
Arguments: object name, attribute
Description: Returns value of "attribute" for the MBean described by "object name."Examples...
- Jacl...
$AdminControl help$AdminControl help getAttribute- Jython...
print AdminControl.help()print AdminControl.help('getAttribute')
invoke
Invoke an object operation with or without parameters. The command invokes the object operation using the parameter list that you supply. The signature generates automatically. The types of parameters are supplied by examining the MBeanInfo that the MBean supplies. Returns the string result of the invocation. The string that is returned is controlled by the Mbean method that you invoked. If the MBean method is synchronous, then control is returned back to wsadmin only when the operation is complete. If the Mbean method is asynchronous, control is returned back to wsadmin immediately even though the invoked task might not be complete.
Target object
None.
Required parameters:
- object name
- Object name of the MBean of interest.
- operation
- Operation to invoke.
Optional parameters:
- arguments
- Arguments required for the operation. If no arguments are required for the operation of interest, we can omit the arguments parameter.
Sample output:
The command returns a string that shows the result of the invocation.
Examples...
- Jacl...
set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*]
$AdminControl invoke $objNameString stop
set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*]
$AdminControl invoke $objNameString appendTraceString com.ibm.*=all=enabled
objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*')
print AdminControl.invoke(objNameString, 'stop')
objNameString = AdminControl.completeObjectName("WebSphere:type=DynaCache,*")
AdminControl.invoke(dc, "getCacheStatistics", [["DiskCacheSizeInMB", "ObjectReadFromDisk4000K", "RemoteObjectMisses"]])
Invoke the object operation by conforming the parameter list to the signature. The command returns the result of the invocation.
Required parameters:
- object name
- Object name of the MBean of interest. (ObjectName)
- operation
- Operation to invoke. (java.lang.String)
Optional parameters:
- arguments
- Arguments required for the operation. If no arguments are required for the operation of interest, we can omit the arguments parameter. (java.lang.String[] or java.lang.Object[])
Sample output:
The command returns a string that shows the result of the invocation.
Examples...
set objNameString [$AdminControl completeObjectName WebSphere:type=TraceService,*]
set objName [java::new javax.management.ObjectName $objNameString]
set parms [java::new {java.lang.Object[]} 1 com.ibm.ejs.sm.*=all=disabled]
set signature [java::new {java.lang.String[]} 1 java.lang.String]
$AdminControl invoke_jmx $objName appendTraceString $parms $signature
objNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*')
import javax.management as mgmt
objName = mgmt.ObjectName(objNameString)
parms = ['com.ibm.ejs.sm.*=all=disabled']
signature = ['java.lang.String']
print AdminControl.invoke_jmx(objName, 'appendTraceString', parms, signature)
Determine if a specific object name is registered.
Required parameters:
- object name
- Object name of interest. (java.lang.String)
Optional parameters:None.
Sample output: Boolean value for the object of interest. If the ObjectName value is registered in the server, then the value is 1...
wsadmin>s = AdminControl.queryNames( 'type=Server,*' ).splitlines()[ 0 ]
wsadmin>AdminControl.isRegistered( s )
1
wsadmin>
If the ObjectName value is not registered in the server, then the value is 0.
Examples...
set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*]
$AdminControl isRegistered $objNameString
objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*')
print AdminControl.isRegistered(objNameString)
Determine if a specific object name is registered.
Required parameters:
- object name
- Object name of interest. (java.lang.String)
Optional parameters:None.
Sample output:
Boolean value for the object of interest. If the ObjectName value is registered in the server, then the value is true...
true
Examples...
set objectNameString [$AdminControl completeObjectName type=Server,*]
set objName [$AdminControl makeObjectName $objNameString]
$AdminControl isRegistered_jmx $objName
objectNameString = AdminControl.completeObjectName('type=Server,*')
objName = AdminControl.makeObjectName(objectNameString)
print AdminControl.isRegistered_jmx(objName)
Create an ObjectName value that is based on the strings input. This command does not communicate with the server, so the ObjectName value that results might not exist. If the string you supply contains an extra set of double quotes, they are removed. If the string does not begin with a Java Management Extensions (JMX) domain, or a string followed by a colon, then the WAS string appends to the name.
Required parameters:
- object name
- Object name of interest. (java.lang.String)
Optional parameters:None.
Sample output:
Objectname object constructed from the object name string.
Examples...
set objectNameString [$AdminControl completeObjectName type=Server,node=mynode,*]
set objName [$AdminControl makeObjectName $objNameString]
objectNameString = AdminControl.completeObjectName('type=Server,node=mynode,*')
objName = AdminControl.makeObjectName(objectNameString)
Query for a list of object instances that match the object name that you provide.
Required parameters:
- object name
- Object name of interest. (ObjectName)
Optional parameters:
- query
- Query expression. (QueryExp)
Sample output: The command returns a list of object instances for the object name specified...
WebSphere:name=PlantsByWebSphere, process=server1, platform=dynamicproxy, node=Goodog, J2EEName=PlantsByWebSphere, Server=server1, version=6.1.0.0, type=Application, mbeanIdentifier=cells/GooddogNode02Cell/applications/PlantsByWebSphere.ear/ deployments/PlantsByWebSphere/deployment.xml#ApplicationDeployment_1126623343902, cell=GooddogNode02Cell
Examples...
set apps [$AdminControl queryMBeans type=Application,*]Use the following example to manipulate the return value of the queryMBeans command:
set appArray [$apps toArray]
set app1 [java::cast javax.management.ObjectInstance [$appArray get 0]]
puts [[$app1 getObjectName] toString]
The following example specifies the object name and the query expression:
set apps [$AdminControl queryMBeans =type=Application,* [java::null]]Use the following example to manipulate the return value of the queryMBeans command:
set appArray [$apps toArray]
set app1 [java::cast javax.management.ObjectInstance [$appArray get 0]]
puts [[$app1 getObjectName] toString]
apps = AdminControl.queryMBeans('type=Application,*')Use the following example to manipulate the return value of the queryMBeans command:
appArray = apps.toArray()
app1 = appArray[0]
print app1.getObjectName().toString()
The following example specifies the object name and the query expression:
apps = AdminControl.queryMBeans('type=Application,*',None)Use the following example to manipulate the return value of the queryMBeans command:
appArray = apps.toArray()
app1 = appArray[0]
print app1.getObjectName().toString()
Query for a list of each of the ObjectName objects based on the name template.
Required parameters:
- object name
- Object name of interest. We can specify a wildcard for the object name parameter with the asterisk character (*). (java.lang.String)
Optional parameters:None.
Sample output:
String that contains the ObjectNames that match the input object name...
WebSphere:cell=BaseApplicationServerCell, name=server1,mbeanIdentifier=server1, type=Server,node=mynode,process=server1
Examples...
$AdminControl queryNames WebSphere:type=Server,*
print AdminControl.queryNames('WebSphere:type=Server,*')
Query for a list of each of the ObjectName objects based on the name template and the query conditions specified.
Required parameters:
- object name
- Object name of interest. We can specify a wildcard for the object name parameter with the asterisk character (*). (ObjectName)
- query
- Query expression to use. (javax.management.QueryExp)
Optional parameters:None.
Sample output:
String that contains the ObjectNames that match the input object name...
[WebSphere:cell=BaseApplicationServerCell, name=server1, mbeanIdentifier=server1, type=Server, node=mynode, process=server1]
Examples...
set objectNameString [$AdminControl completeObjectName type=Server,*]
set objName [$AdminControl makeObjectName $objNameString]
set null [java::null]
$AdminControl queryNames_jmx $objName $null
objectNameString = AdminControl.completeObjectName('type=Server,*')
objName = AdminControl.makeObjectName(objectNameString)
print AdminControl.queryNames_jmx(objName, None)
Reconnect to the server, and to clear information out of the local cache.
Required parameters:None.
Optional parameters:None.
Sample output: Message that displays the status of the operation
WASX7074I: Reconnect of SOAP connector to host myhost completed.
Examples...
Set the attribute value for the name that you provide.
Required parameters:
- object name
- Object name of the MBean of interest. (java.lang.String)
- attribute name
- Name of the attribute to set. (java.lang.String)
- attribute value
- Value of the attribute of interest. (java.lang.String)
Optional parameters:None.
Sample output:
Does not return output.
Examples...
set objNameString [$AdminControl completeObjectName WebSphere:type=TraceService,*]
$AdminControl setAttribute $objNameString traceSpecification com.ibm.*=all=disabled
objNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*')
print AdminControl.setAttribute(objNameString, 'traceSpecification', 'com.ibm.*=all=disabled')
Set the attribute value for the name that you provide.
Required parameters:
- object name
- Object name of the MBean of interest. (ObjectName)
- attribute
- Name of the attribute to set. (Attribute)
Optional parameters:None.
Sample output:
Does not return output.
Examples...
set objectNameString [$AdminControl completeObjectName WebSphere:type=TraceService,*]
set objName [$AdminControl makeObjectName $objectNameString]
set attr [java::new javax.management.Attribute traceSpecification com.ibm.*=all=disabled]
$AdminControl setAttribute_jmx $objName $attr
objectNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*')
import javax.management as mgmt
objName = AdminControl.makeObjectName(objectNameString)
attr = mgmt.Attribute('traceSpecification', 'com.ibm.*=all=disabled')
print AdminControl.setAttribute_jmx(objName, attr)
Set the attribute values for the object names that you provide.
Required parameters:
- object name
- Object name of the MBean of interest. (String)
- attributes
- Names of the attributes to set. (java.lang.String[] or java.lang.Object[])
Optional parameters:None.
Sample output:
List of object names that are successfully set by the command invocation
'[traceSpecification com.ibm.ws.*=all=enabled]'
Examples...
set objNameString [$AdminControl completeObjectName WebSphere:type=TraceService,*]
$AdminControl setAttributes $objNameString {{traceSpecification com.ibm.ws.*=all=enabled}}
objNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*')
AdminControl.setAttributes(objNameString, '[[traceSpecification "com.ibm.ws.*=all=enabled"]]')
objNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*')
print AdminControl.setAttributes(objNameString, [['traceSpecification', 'com.ibm.ws.*=all=enabled']])
Set the attribute values for the object names that you provide.
Required parameters:
- object name
- Object name of the MBean of interest. (String)
- attributes
- Names of the attributes to set. (javax.management.AttributeList)
Optional parameters:None.
Sample output:
Attribute list of object names that are successfully set by the command invocation
'[traceSpecification com.ibm.ws.*=all=enabled]'
Examples...
set objectNameString [$AdminControl completeObjectName WebSphere:type=TraceService,*] set objName [$AdminControl makeObjectName $objectNameString]
set attr [java::new javax.management.Attribute traceSpecification com.ibm.ws.*=all=enabled]
set alist [java::new javax.management.AttributeList]
$alist add $attr
$AdminControl setAttributes_jmx $objName $alist
objectNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*') import javax.management as mgmt
objName = AdminControl.makeObjectName(objectNameString)
attr = mgmt.Attribute('traceSpecification', 'com.ibm.ws.*=all=enabled')
alist = mgmt.AttributeList()
alist.add(attr)
print AdminControl.setAttributes_jmx(objName, alist)
Required parameters:
- server name
- Name of the server to start. (java.lang.String)
Optional parameters:
- node name
- Name of the node of interest. (java.lang.String)
- wait time
- Number of seconds that the start process waits for the server to start. The default wait time is 1200 seconds. (java.lang.String)
Sample output: The command returns a message to indicate if the server starts successfully...
'[traceSpecification com.ibm.ws.*=all=enabled]'
Examples...
Jacl...
The following example specifies only the name of the server to start:
$AdminControl startServer server1
The following example specifies the name of the server to start and the wait time:
$AdminControl startServer server1 100
The following example specifies the name of the server to start and the name of the node:
$AdminControl startServer server1 myNode
The following example specifies the name of the server, the name of the node, and the wait time:
$AdminControl startServer server1 myNode 100
Jython...
The following example specifies only the name of the server to start:
AdminControl.startServer('server1')
The following example specifies the name of the server to start and the wait time:
AdminControl.startServer('server1', 100)
The following example specifies the name of the server to start and the name of the node:
AdminControl.startServer('server1', 'myNode')
The following example specifies the name of the server, the name of the node, and the wait time:
AdminControl.startServer('server1', 'myNode', 100)
Required parameters:
- server name
- Name of the server to start. (java.lang.String)
Optional parameters:
- node name
- Name of the node of interest. (java.lang.String)
- immediate flag
- Specifies to stop the server immediately if the value is set to immediate. If specify the immediate flag, the server does not finish processing any work in progress, does not accept any new work, and ends the server process. (java.lang.String)
- terminate flag
- Specifies that the server process should be terminated by the operating system. (String)
Sample output: The command returns a message to indicate if the server stops successfully...
WASX7337I: Invoked stop for server "server1" Waiting for stop completion.
'WASX7264I: Stop completed for server "server1" on node "myNode"'
Examples...
Jacl...
The following example specifies only the name of the server to stop:
$AdminControl stopServer server1
The following example specifies the name of the server to stop and indicates that the server should stop immediately:
$AdminControl stopServer server1 immediate
The following example specifies the name of the server to stop and the name of the node:
$AdminControl stopServer server1 myNode
The following example specifies the name of the server, the name of the node, and indicates that the server should stop immediately:
$AdminControl stopServer server1 myNode immediate
Jython...
The following example specifies only the name of the server to stop:
AdminControl.stopServer('server1')
The following example specifies the name of the server to stop and indicates that the server should stop immediately:
AdminControl.stopServer('server1','immediate')
The following example specifies the name of the server to stop and the name of the node:
AdminControl.stopServer('server1','myNode')
The following example specifies the name of the server, the name of the node, and indicates that the server should stop immediately:
AdminControl.stopServer('server1','myNode','immediate')
Test a data source connection. This command works with the data source residings in the configuration repository. If the data source to be tested is in the temporary workspace that holds the update to the repository, save the update to the configuration repository before running this command. Use this command with the configuration ID that corresponds to the data source and the WAS40DataSource object types.
Required parameters:
- configuration ID
- Configuration ID of the data source object of interest. (java.lang.String)
Optional parameters:None.
Sample output:
Message that indicates a successful connection or a connection with a warning. If the connection fails, an exception is created from the server indicating the error. For example:
WASX7217I: Connection to provided datasource was successful.
Examples...
set ds [lindex [$AdminConfig list DataSource] 0]
$AdminControl testConnection $ds
# get line separator import java.lang.System as sys
lineSeparator = sys.getProperty('line.separator')
ds = AdminConfig.list('DataSource').split(lineSeparator)[0]
print AdminControl.testConnection(ds)
Set the trace spec for the scripting process to the value specified.
Required parameters:
- trace spec
- Trace to enable for the scripting process. (java.lang.String)
Optional parameters: None.
Sample output:
The command does not return output.
Examples...
$AdminControl trace com.ibm.ws.scripting.*=all=enabled
print AdminControl.trace('com.ibm.ws.scripting.*=all=enabled')