Use the AdminControl object to invoke operational commands that deal with running objects in the WebSphere Application Server. Many of the AdminControl commands have multiple signatures so that they can either invoke in a raw mode using parameters that are specified by Java Management Extensions (JMX), or by using strings for parameters. In addition to operational commands, the AdminControl object supports some utility commands for tracing, reconnecting with a server, and converting data types.
The following commands are available for the AdminControl object:
Command name: | Parameters and return values: | Examples: | |
completeObjectName | Creates 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 it finds several MBeans that match the fragment, the command returns the first one. |
|
Example usage: Using Jacl: set serverON [$AdminControl completeObjectName node=mynode,type=Server,*]Using Jython: serverON = AdminControl.completeObjectName('node=mynode,type=Server,*') |
getAttribute | Returns the value of the attribute for the name that you provide. |
|
Example usage: Using Jacl: set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] $AdminControl getAttribute $objNameString processTypeUsing Jython: objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*') AdminControl.getAttribute(objNameString, 'processType') |
getAttribute_jmx | Returns the value of the attribute for the name that you provide. |
|
Example usage: Using Jacl: set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] set objName [java::new javax.management.ObjectName $objNameString] $AdminControl getAttribute_jmx $objName processTypeUsing Jython: objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*') import javax.management as mgmt objName = mgmt.ObjectName(objNameString) AdminControl.getAttribute_jmx(objName, 'processType') |
getAttributes | Returns the attribute values for the names that you provide. |
|
Example usage: Using Jacl: set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] $AdminControl getAttributes $objNameString "cellName nodeName"Using Jython with string attributes: objNameString = AdminControl.completeObjectname('WebSphere:type=Server,*) AdminControl.getAttributes(objNameString, '[cellName nodeName]')Using Jython with object attributes: objNameString = AdminControl.completeObjectname('WebSphere:type=Server,*) AdminControl.getAttributes(objNameString, ['cellName', 'nodeName']) |
getAttributes_jmx | Returns the attribute values for the names that you provide. |
|
Example usage: Using 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 $attrsUsing Jython: objectNameString = AdminControl.completeObjectName('type=Server,*') objName = AdminControl.makeObjectName(objectNameString) attrs = ['cellName', 'nodeName'] AdminControl.getAttributes_jmx(objName, attrs) |
getCell | Returns the name of the connected cell. |
|
Example usage: Using Jacl: $AdminControl getCellUsing Jython: AdminControl.getCell()Example output: Mycell |
getConfigId | Creates a configuration ID from an ObjectName or an
ObjectName fragment. Use this ID with the $AdminConfig command. Not all MBeans that run have configuration objects that correspond. If several MBeans correspond to an ObjectName fragment, a warning is created and a configuration ID builds for the first MBean it finds. |
|
Example usage: Using Jacl: set threadpoolCID [$AdminControl getConfigId node=mynode,type=ThreadPool,*]Using Jython: threadpoolCID = AdminControl.getConfigId('node=mynode,type=ThreadPool,*') |
getDefaultDomain | Returns the default domain name from the server. |
|
Example usage: Using Jacl: $AdminControl getDefaultDomainUsing Jython: AdminControl.getDefaultDomain()Example output: WebSphere |
getDomainName | Returns the domain name from the server. |
|
Example usage: Using Jacl: $AdminControl getDomainNameUsing Jython: AdminControl.getDomainName()Example output: WebSphere |
getHost | Returns the name of your host. |
|
Example usage: Using Jacl: $AdminControl getHostUsing Jython: AdminControl.getHost()Example output: myhost |
getMBeanCount | Returns the number of MBeans that are registered in the server. |
|
Example usage: Using Jacl: $AdminControl getMBeanCountUsing Jython: AdminControl.getMBeanCount()Example output: 114 |
getMBeanInfo_jmx | Returns 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 command. |
|
Example usage: Using Jacl: set objectNameString [$AdminControl completeObjectName type=Server,*] set objName [$AdminControl makeObjectName $objectNameString] $AdminControl getMBeanInfo_jmx $objNameUsing Jython: objectNameString = AdminControl.completeObjectName('type=Server,*') objName = AdminControl.makeObjectName(objectNameString) AdminControl.getMBeanInfo_jmx(objName)Example output: javax.management.modelmbean.ModelMBeanInfoSupport@10dd5f35 |
getNode | Returns the name of the connected node. |
|
Example usage: Using Jacl: $AdminControl getNodeUsing Jython: AdminControl.getNode()Example output: Myhost |
getPort | Returns the name of your port. |
|
Example usage: Using Jacl: $AdminControl getPortUsing Jython: AdminControl.getPort()Example output: 8877 |
getPropertiesForDataSource | Deprecated, no replacement.
This command incorrectly assumes the availability of a configuration service when running in connected mode. |
|
Example usage: Using Jacl: set ds [lindex [$AdminConfig list DataSource] 0] $AdminControl getPropertiesForDataSource $dsUsing Jython: ds = AdminConfig.list('DataSource') # get line separator import java.lang.System as sys lineSeparator = sys.getProperty('line.separator') dsArray = ds.split(lineSeparator) AdminControl.getPropertiesForDataSource(dsArray[0])Example output: WASX7389E: Operation not supported - getPropertiesForDataSource command is not supported. |
getType | Returns the connection type. |
|
Example usage: Using Jacl: $AdminControl getTypeUsing Jython: AdminControl.getType()Example output: SOAP |
help | Returns general help text for the AdminControl object. |
|
Example usage: Using Jacl: $AdminControl helpUsing Jython: AdminControl.help()Example output: WASX7027I: The AdminControl object enables the manipulation of MBeans that run in a WebSphere Application Server process. The number and type of MBeans that are available to the |
help | Returns help text for the specific command of the AdminControl object. The command name is not case sensitive. |
|
Example usage: Using Jacl: $AdminControl help getAttributeUsing Jython: AdminControl.help('getAttribute')Example output: WASX7043I: command: getAttribute Arguments: object name, attribute Description: Returns value of "attribute" for the MBean described by "object name." |
invoke | Invokes the object operation without any parameter. Returns the result of the invocation. |
|
Example usage: Using Jacl: set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] $AdminControl invoke $objNameString stopUsing Jython: objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*') AdminControl.invoke(objNameString, 'stop') |
invoke | 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 the wsadmin tool only when the operation is complete. If the Mbean method is asynchronous, control is returned back to the wsadmin tool immediately even though the invoked task might not be complete. |
|
Example usage: Using Jacl: set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] $AdminControl invoke $objNameString appendTraceString com.ibm.*=all=enabledUsing Jython: objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*') AdminControl.invoke(objNameString, 'appendTraceString', 'com.ibm.*=all=enabled') |
invoke | Invokes the object operation by conforming the parameter list to the signature. Returns the result of the invocation. |
|
Example usage: Using Jacl: set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] $AdminControl invoke $objNameString appendTraceString com.ibm.*=all=enabled java.lang.StringUsing Jython: objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*') AdminControl.invoke(objNameString, 'appendTraceString', 'com.ibm.*=all=enabled', 'java.lang.String') |
invoke_jmx | Invokes the object operation by conforming the parameter list to the signature. Returns the result of the invocation. |
| Example usage: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 $signatureUsing Jython: 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'] AdminControl.invoke_jmx(objName, 'appendTraceString', parms, signature) |
isRegistered | If the ObjectName value is registered in the server, then the value is true. |
|
Example usage: Using Jacl: set objNameString [$AdminControl completeObjectName WebSphere:type=Server,*] $AdminControl isRegistered $objNameStringUsing Jython: objNameString = AdminControl.completeObjectName('WebSphere:type=Server,*') AdminControl.isRegistered(objNameString) |
isRegistered_jmx | If the ObjectName value is registered in the server, then the value is true. |
|
Example usage: Using Jacl: set objectNameString [$AdminControl completeObjectName type=Server,*] set objName [$AdminControl makeObjectName $objNameString] $AdminControl isRegistered_jmx $objNameUsing Jython: objectNameString = AdminControl.completeObjectName('type=Server,*') objName = AdminControl.makeObjectName(objectNameString) AdminControl.isRegistered_jmx(objName) |
makeObjectName | A convenience command that creates 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 WebSphere Application Server string appends to the name. |
|
Example usage: Using Jacl: set objectNameString [$AdminControl completeObjectName type=Server,node=mynode,*] set objName [$AdminControl makeObjectName $objNameString]Using Jython: objectNameString = AdminControl.completeObjectName('type=Server,node=mynode,*') objName = AdminControl.makeObjectName(objectNameString) |
queryNames | Returns a string that lists all the ObjectName objects based on the name template. |
|
Example usage: Using Jacl: $AdminControl queryNames WebSphere:type=Server,*Using Jython: AdminControl.queryNames('WebSphere:type=Server,*')Example output: WebSphere:cell=BaseApplicationServerCell,name=server1,mbeanIdentifier=server1,type=Server,node=mynode,process=server1 |
queryNames_jmx | Returns a set of ObjectName objects that are based on the ObjectName object and the QueryExp query that you provide. |
|
Example usage: Using Jacl: set objectNameString [$AdminControl completeObjectName type=Server,*] set objName [$AdminControl makeObjectName $objNameString] set null [java::null] $AdminControl queryNames_jmx $objName $nullUsing Jython: objectNameString = AdminControl.completeObjectName('type=Server,*') objName = AdminControl.makeObjectName(objectNameString) AdminControl.queryNames_jmx(objName, None)Example output: [WebSphere:cell=BaseApplicationServerCell,name=server1,mbeanIdentifier=server1,type=Server,node=mynode,process=server1] |
reconnect | Reconnects to the server, and clears information out of the local cache. |
|
Example usage: Using Jacl: $AdminControl reconnectUsing Jython: AdminControl.reconnect()Example output: WASX7074I: Reconnect of SOAP connector to host myhost completed. |
setAttribute | Sets the attribute value for the name that you provide. |
|
Example usage: Using Jacl: set objNameString [$AdminControl completeObjectName WebSphere:type=TraceService,*] $AdminControl setAttribute $objNameString traceSpecification com.ibm.*=all=disabledUsing Jython: objNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*') AdminControl.setAttribute(objNameString, 'traceSpecification', 'com.ibm.*=all=disabled') |
setAttribute_jmx | Sets the attribute value for the name that you provide. |
|
Example usage: Using Jacl: 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 $attrUsing Jython: objectNameString = AdminControl.completeObjectName('WebSphere:type=TraceService,*') import javax.management as mgmt objName = AdminControl.makeObjectName(objectNameString) attr = mgmt.Attribute('traceSpecification', 'com.ibm.*=all=disabled') AdminControl.setAttribute_jmx(objName, attr) |
setAttributes | Sets the attribute values for the names that you provide and returns a list of successfully set names. |
|
Example usage: Using Jacl: set objNameString [$AdminControl completeObjectName WebSphere:type=TracesService,*] $AdminControl setAttributes $objNameString {{traceSpecification com.ibm.ws.*=all=enabled}}Using Jython with string attributes: objNameString = AdminControl.completeObjectName('WebSphere:type=TracesService,*') AdminControl.setAttributes(objNameString, '[[traceSpecification "com.ibm.ws.*=all=enabled"]]')Using Jython with object attributes: objNameString = AdminControl.completeObjectName('WebSphere:type=TracesService,*') 473 AdminControl.setAttributes(objNameString, [['traceSpecification', 'com.ibm.ws.*=all=enabled']]) |
setAttributes_jmx | Sets the attribute values for the names that you provide and returns a list of successfully set names. |
|
Example usage: Using Jacl: 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 $alistUsing Jython: 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) AdminControl.setAttributes_jmx(objName, alist) |
startServer | Starts the specified application server by locating it in the configuration. This command uses the default wait time. You can only use this command if the scripting client is connected to a node agent. This command returns a message to indicate if the server starts successfully. |
|
Example usage: Using Jacl: $AdminControl startServer server1Using Jython: AdminControl.startServer('server1') |
startServer | Starts the specified application server by locating it in the configuration. The start process waits the number of seconds specified by the wait time for the server to start. You can only use this command if the scripting client is connected to a node agent. This command returns a message to indicate if the server starts successfully. |
|
Example usage: Using Jacl: $AdminControl startServer server1 100Using Jython: AdminControl.startServer('server1', 100) |
startServer | Starts the specified application server by locating it in the configuration. This command uses the default wait time. You can use this command when the scripting client is either connected to a node agent or to a deployment manager process. It returns a message to indicate if the server starts successfully. |
|
Example usage: Using Jacl: $AdminControl startServer server1 myNodeUsing Jython: AdminControl.startServer('server1', 'myNode') |
startServer | Starts the specified application server by locating it in the configuration. The start process waits the number of seconds specified by the wait time for the server to start. You can use this command when the
scripting client is either connected to a node agent or to a deployment manager process. This command returns a message to indicate if the server starts successfully. |
|
Example usage: Using Jacl: $AdminControl startServer server1 myNode 100Using Jython: AdminControl.startServer('server1', 'myNode', 100) |
stopServer | Stops the specified application server. The command returns a message to indicate if the server stops successfully. |
|
Example usage: Using Jacl: $AdminControl stopServer server1Using Jython: AdminControl.stopServer('server1') |
stopServer | Stops the specified application server. If you set the flag to immediate, the server stops immediately. Otherwise, a normal stop occurs. This command returns a message to indicate if the server stops successfully. |
|
Example usage: Using Jacl: $AdminControl stopServer server1 immediateUsing Jython: AdminControl.stopServer('server1', 'immediate') |
stopServer | Stops the specified application server. This command returns a message to indicate if the server stops successfully. |
|
Example usage: Using Jacl: $AdminControl stopServer server1 myNodeUsing Jython: AdminControl.stopServer('server1', 'my Node') |
stopServer | Stops the specified application server. If you set the flag to immediate, the server stops immediately. Otherwise, a normal stop occurs. This command returns a message to indicate if the server stops successfully. |
|
Example usage: Using Jacl: $AdminControl stopServer server1 myNode immediateUsing Jython: AdminControl.stopServer('server1', 'my Node', 'immediate') |
testConnection | A convenience command communicates with the DataSourceCfgHelper MBean to test a DataSource connection. This command works with the DataSource that resides in the configuration repository. If the DataSource to be tested is in the temporary workspace that holds the update to the repository, you have to save the update to the configuration repository before running this command. Use this command with the configuration ID that corresponds to the DataSource and the WAS40DataSource object types. The return value is a message that contains the message indicating a successful connection or a connection with warning. If the connection fails, an exception is created from the server indicating the error. |
|
Example usage: Using Jacl: set ds [lindex [$AdminConfig list DataSource] 0] $AdminControl testConnection $dsUsing Jython: # get line separator import java.lang.System as sys lineSeparator = sys.getProperty('line.separator') ds = AdminConfig.list('DataSource').split(lineSeparator)[0] AdminControl.testConnection(ds)Example output: WASX7217I: Connection to provided datasource was successful. |
testConnection | Deprecated.
This command can give false results and does not work when connected to a node agent. As of V5.0.2, the preferred way to test a data source connection is with the testConnection command that passes in the DataSource configId parameter as the only parameter. |
|
Example usage: Using Jacl: set ds [lindex [$AdminConfig list DataSource] 0] $AdminControl testConnection $ds {{prop1 val1}}Using Jython: # get line separator import java.lang.System as sys lineSeparator = sys.getProperty('line.separator') ds = AdminConfig.list('DataSource').split(lineSeparator)[0] AdminControl.testConnection(ds, '[[prop1 val1]]')Example output: WASX7390E: Operation not supported - testConnection command with config id and properties arguments is not supported. Use testConnection command with config id argument only. |
trace | Sets the trace specification for the scripting process to the value that you specify. |
|
Example usage: Using Jacl: $AdminControl trace com.ibm.ws.scripting.*=all=enabledUsing Jython: AdminControl.trace('com.ibm.ws.scripting.*=all=enabled') |
Related reference
AdminControl object for scripted administration