Beispiel: Aktive Objekte mit wsadmin-Scripting identifizieren
Verwenden Sie das Objekt "AdminControl", um mit aktiven MBeans zu interagieren.
In WebSphere Application Server dienen MBeans als aktive Objekte. Sie können den MBean-Server abfragen, um die Objekte, die er enthält, anzuzeigen.
- Mit dem Befehl queryNames können Sie aktive MBean-Objekte
anzeigen. Beispiel: Mit Jacl:
$AdminControl queryNames *
Mit Jython:Mit diesem Befehl wird eine Liste aller MBean-Typen zurückgegeben. Je nach Server, dem der Scripting-Client zugeordnet ist, kann diese Liste MBeans enthalten, die auf verschiedenen Servern ausgeführt werden:print AdminControl.queryNames('*')
- Wird der Client einem eigenständigen WebSphere Application Server zugeordnet, enthält die Liste MBeans, die in diesem Server ausgeführt werden.
- Wird der Client einem Node Agent zugeordnet, enthält die Liste MBeans, die auf dem Node Agent ausgeführt werden, und MBeans, die auf allen Anwendungsservern dieses Knotens ausgeführt werden.
- Wird der Client einem Deployment Manager zugeordnet, enthält die Liste MBeans, die im Deployment Manager ausgeführt werden, alle Node Agents, die mit diesem Deployment Manager kommunizieren, sowie alle Anwendungsserver auf den von diesen Node Agents bereitgestellten Knoten.
- Die Liste, die der Befehl queryNames zurückgibt, ist eine
Zeichenfolgedarstellung von ObjectName-Objekten für JMX. Beispiel:
Dieses Beispiel zeigt ein TraceServer-Objekt, das auf server1 auf myNode ausgeführt wird.WebSphere:cell=MyCell,name=TraceService,mbeanIdentifier=TraceService, type=TraceService,node=MyNode,process=server1
- Das einzelne queryNames-Argument gibt das ObjectName-Objekt an, nach
dem Sie suchen. Der Stern ("*") im Beispiel bedeutet, dass alle Objekte
zurückgegeben werden sollen. Sie haben jedoch die Möglichkeit, eine spezifischere
Angabe zu machen. Wie im Beispiel dargestellt, besteht ObjectName aus zwei
Teilen: einer Domäne und einer Liste von Schlüsseleigenschaftenn. Für MBeans, die von
WebSphere Application Server erstellt wurden, ist die Domäne "WebSphere". Wenn Sie
beim Aufrufen von queryNames keine Domäne angeben, geht der Scripting-Client davon
aus, dass die Domäne "WebSphere" ist. Das bedeutet, dass die erste Beispielabfrage
oben äquivalent ist mit:Mit Jacl:
$AdminControl queryNames WebSphere:*
Mit Jython:AdminControl.queryNames('WebSphere:*')
- WebSphere Application Server enthält die folgenden Schlüsseleigenschaften
für das ObjectName-Objekt:
- name
- type
- cell
- node
- process
- mbeanIdentifier
Mit Jacl:$AdminControl queryNames WebSphere:type=Server,node=myNode,*
Mit Jython:In diesem Beispiel wird eine Liste aller MBeans, die als Serverobjekte fungieren und auf dem Knoten myNode ausgeführt werden, angezeigt. Der Stern (*) am Ende des ObjectName-Objekts ist ein Platzhalterzeichen für JMX. Geben Sie z. B. Folgendes ein:AdminControl.queryNames('WebSphere:type=Server,node=myNode,*')
Mit Jacl:$AdminControl queryNames WebSphere:type=Server,node=myNode
Mit Jython:Sie erhalten eine leere Liste zurück, da das Argument für queryNames kein Platzhalterzeichen ist. Es gibt keine aktive Server-MBean, die genau diese Schlüsseleigenschaften und keine anderen besitzt.print AdminControl.queryNames('WebSphere:type=Server,node=myNode')
- Wenn Sie alle MBeans anzeigen möchten, die als Anwendungen fungieren, welche auf
einem bestimmten Knoten ausgeführt werden, rufen Sie das folgende Beispiel auf:Mit Jacl:
$AdminControl queryNames WebSphere:type=Application,node=myNode,*
Mit Jython:print AdminControl.queryNames('WebSphere:type=Application,node=myNode,*')