Example: Identify running objects
Use the AdminControl object to interact with running MBeans.
In the WAS, MBeans represent running objects. You can interrogate the MBean server to see the objects it contains.
- Use the queryNames command to see running MBean objects. For example:
print AdminControl.queryNames('*')This command returns a list of all MBean types. Depending on the server to which your scripting client attaches, this list can contain MBeans that run on different servers:
- If the client attaches to a stand-alone WAS, the list contains MBeans that run on that server.
- If the client attaches to a node agent, the list contains MBeans that run in the node agent and MBeans that run on all appservers on that node.
- If the client attaches to a deployment manager, the list contains MBeans that run in the deployment manager, all of the node agents communicating with that deployment manager, and all appservers on the nodes served by those node agents.
- The list that the queryNames command returns is a string representation of JMX ObjectName objects. For example:
WebSphere:cell=MyCell,name=TraceService,mbeanIdentifier=TraceService, type=TraceService,node=MyNode,process=server1This example represents a TraceServer object that runs in server1 on MyNode.
- The single queryNames argument represents the ObjectName object for which you are searching. The asterisk ("*") in the example means return all objects, but it is possible to be more specific. As shown in the example, ObjectName has two parts: a domain, and a list of key properties. For MBeans created by the WAS, the domain is WebSphere. If you do not specify a domain when you invoke queryNames, the scripting client assumes the domain is WebSphere. This means that the first example query above is equivalent to:
AdminControl.queryNames('WebSphere:*')
- WAS includes the following key properties for the ObjectName object:
- name
- type
- cell
- node
- process
- mbeanIdentifier
These key properties are common. There are other key properties that exist. You can use any of these key properties to narrow the scope of the queryNames command. For example:
AdminControl.queryNames('WebSphere:type=Server,node=myNode,*')This example returns a list of all MBeans that represent server objects running the node myNode. The, * at the end of the ObjectName object is a JMX wildcard designation. For example, if you enter the following:
print AdminControl.queryNames('WebSphere:type=Server,node=myNode')you get an empty list back because the argument to queryNames is not a wildcard. There is no Server MBean running that has exactly these key properties and no others.
- To see all the MBeans representing applications running on a particular node, invoke the following example:
print AdminControl.queryNames('WebSphere:type=Application,node=myNode,*')[wasuser@hostname wsadmin]$ wsadmin.sh -lang jython -f queryNames_app.py
WASX7209I: Connected to process "dmgr" on node dmgr_node using SOAP connector; The type of process is: DeploymentManager
WebSphere:name=DefaultApplication, process=server1, platform=dynamicproxy, node=foobar_node, J2EEName=DefaultApplication, Server=server1, version=6.0.2.29, type=Application, mbeanIdentifier=cells/dmgr_cell/applications/DefaultApplication.ear/deployments/DefaultApplication/deployment.xml#ApplicationDeployment_1217993787520, cell=dmgr_cell
WebSphere:name=Dynamic_Cache_Monitor, process=xyz_Stage, platform=dynamicproxy, node=foobar_node, J2EEName=Dynamic_Cache_Monitor, Server=xyz_Stage, version=6.0.2.29, type=Application, mbeanIdentifier=cells/dmgr_cell/applications/Dynamic_Cache_Monitor.ear/deployments/Dynamic_Cache_Monitor/deployment.xml#ApplicationDeployment_1220552478970, cell=dmgr_cell
WebSphere:name=Dynamic_Cache_Monitor, process=server1, platform=dynamicproxy, node=foobar_node, J2EEName=Dynamic_Cache_Monitor, Server=server1, version=6.0.2.29, type=Application, mbeanIdentifier=cells/dmgr_cell/applications/Dynamic_Cache_Monitor.ear/deployments/Dynamic_Cache_Monitor/deployment.xml#ApplicationDeployment_1220552478970, cell=dmgr_cell
WebSphere:name=xyzEAR, process=xyz_Stage, platform=dynamicproxy, node=foobar_node, J2EEName=xyzEAR, Server=xyz_Stage, version=6.0.2.29, type=Application, mbeanIdentifier=cells/dmgr_cell/applications/xyzEAR.ear/deployments/xyzEAR/deployment.xml#ApplicationDeployment_1229197361872, cell=dmgr_cell
WebSphere:name=foobar, process=server1, platform=dynamicproxy, node=foobar_node, J2EEName=foobar, Server=server1, version=6.0.2.29, type=Application, mbeanIdentifier=cells/dmgr_cell/applications/foobar.ear/deployments/foobar/deployment.xml#ApplicationDeployment_1217994053925, cell=dmgr_cell
WebSphere:name=ivtApp, process=server1, platform=dynamicproxy, node=foobar_node, J2EEName=ivtApp, Server=server1, version=6.0.2.29, type=Application, mbeanIdentifier=cells/dmgr_cell/applications/ivtApp.ear/deployments/ivtApp/deployment.xml#ApplicationDeployment_1217993797384, cell=dmgr_cell
WebSphere:name=query, process=server1, platform=dynamicproxy, node=foobar_node, J2EEName=query, Server=server1, version=6.0.2.29, type=Application, mbeanIdentifier=cells/dmgr_cell/applications/query.ear/deployments/query/deployment.xml#ApplicationDeployment_1217993805993, cell=dmgr_cell
Related tasks
Use the AdminControl object for scripted administration