示例:使用 wsadmin 脚本编制来标识运行的对象
使用 AdminControl 对象以与运行的 MBean 交互。
在 WebSphere® Application Server 中,MBean 表示运行的对象。您可以询问 MBean 服务器以查看它包含的对象。
- 使用 queryNames 命令以查看运行的 MBean 对象。例如:使用 Jacl:
$AdminControl queryNames *
使用 Jython:此命令返回所有 MBean 类型的列表。根据您的脚本编制客户机连接的服务器,此列表可包含运行在不同服务器上的 MBean:print AdminControl.queryNames('*')
- 如果客户机连接至独立的 WebSphere Application Server,那么该列表包含在此服务器上运行的 MBean。
- 如果客户机连接至节点代理程序,此列表将包含运行在节点代理程序中的 MBean,以及运行在该节点上的所有应用程序服务器上的 MBean。
- 如果客户机连接至 Deployment Manager,此列表将包含运行在 Deployment Manager 中的 MBean、与该 Deployment Manager 通信的所有节点代理程序,以及由那些节点代理程序提供的节点上的所有应用程序服务器。
- queryNames 命令返回的列表是 JMX ObjectName 对象的字符串表示法。例如:
此示例表示在 MyNode 上的 server1 中运行的 TraceServer 对象。WebSphere:cell=MyCell,name=TraceService,mbeanIdentifier=TraceService,type=TraceService,node=MyNode,process=server1
- 单个 queryNames 参数表示您正在搜索的 ObjectName 对象。示例中的星号(“*”)表示返回所有对象,但它可能更特定。如上述示例中所示,ObjectName 具有两个部分:域和键属性列表。对于
WebSphere Application Server
创建的 MBean,域是 WebSphere。如果您在调用
queryNames 时未指定域,那么脚本编制客户机假设域是 WebSphere。这意味着第一个示例查询等同于:
使用 Jacl:
$AdminControl queryNames WebSphere:*
使用 Jython:AdminControl.queryNames('WebSphere:*')
- WebSphere Application Server
包括 ObjectName 对象的下列键属性:
- name
- type
- cell
- node
- process
- mbeanIdentifier
使用 Jacl:$AdminControl queryNames WebSphere:type=Server,node=myNode,*
使用 Jython:此示例返回表示运行节点 myNode 的服务器对象的所有 MBean 的列表。ObjectName 对象末端的 * 是 JMX 通配符指定。例如,如果您输入下列:AdminControl.queryNames('WebSphere:type=Server,node=myNode,*')
使用 Jacl:$AdminControl queryNames WebSphere:type=Server,node=myNode
使用 Jython:您获取一个空列表,因为 queryNames 的参数不是一个通配符。完全具有这些键属性而不是其他键属性的服务器 MBean 不在运行。print AdminControl.queryNames('WebSphere:type=Server,node=myNode')
- 如果您想查看表示在特定节点上运行的应用程序的所有 MBean,调用以下示例:使用 Jacl:
$AdminControl queryNames WebSphere:type=Application,node=myNode,*
使用 Jython:print AdminControl.queryNames('WebSphere:type=Application,node=myNode,*')