Exemple : Identification d'objets en cours d'exécution avec les outils de script de wsadmin
Utilisez l'objet AdminControl pour interagir avec les MBeans en cours d'exécution.
Dans WebSphere Application Server, les MBeans représentent les objets en cours d'exécution. Vous pouvez interroger le serveur MBean pour voir les objets qu'il contient.
- La commande queryNames permet de visualiser les objets MBean en cours d'exécution. Exemple :A l'aide de Jacl :
$AdminControl queryNames *
Avec Jython :Cette commande renvoie une liste de tous les types de MBean. En fonction du serveur auquel votre client de scriptage se connecte, cette liste peut contenir des MBeans s'exécutant sur des serveurs différents :print AdminControl.queryNames('*')
- Si le client se connecte à un serveur WebSphere Application Server autonome, la liste contient les MBeans qui s'exécutent sur ce serveur.
- Si le client se connecte à un agent de noeud, la liste contient les MBeans qui s'exécutent dans l'agent de noeud et les MBeans qui s'exécutent sur tous les serveurs d'applications existant sur ce noeud.
- Si le client se connecte à un gestionnaire de déploiement, la liste contient les MBeans qui s'exécutent dans le gestionnaire de déploiement, tous les agents de noeud qui communiquent avec ce gestionnaire de déploiement et tous les serveurs d'applications existant sur les noeuds pris en charge par ces agents de noeud.
- La liste que la commande queryNames renvoie est une représentation de chaîne des objets
JMX ObjectName. Exemple :
Cet exemple représente un objet TraceServer qui s'exécute dans server1 surMyNode.WebSphere:cell=MyCell,name=TraceService,mbeanIdentifier=TraceService, type=TraceService,node=MyNode,process=server1
- L'argument queryNames unique représente l'objet ObjectName que vous recherchez. L'astérisque ("*") de l'exemple signifie le renvoi de tous les objets, mais il est possible d'être plus spécifique. Comme indiqué dans l'exemple, ObjectName est composé de deux parties : un domaine et une liste de propriétés de clés. Pour les MBeans créés par WebSphere Application Server, le domaine est WebSphere. Si vous ne spécifiez pas de domaine lorsque vous utilisezqueryNames, le client de gérant les scripts suppose que le domaine est WebSphere. Cela signifie que le premier exemple de requête ci-dessus est équivalent à :A l'aide de Jacl :
$AdminControl queryNames WebSphere:*
Avec Jython :AdminControl.queryNames('WebSphere:*')
- WebSphere Application Server contient les propriétés de clés suivantes pour l'objet ObjectName :
- name
- type
- cell
- node
- process
- mbeanIdentifier
A l'aide de Jacl :$AdminControl queryNames WebSphere:type=Server,node=myNode,*
Avec Jython :Cet exemple renvoie une liste de tous les MBeans qui représentent des objets serveur exécutant le noeud myNode. Le * situé à la fin de l'objet ObjectName est une désignation de caractère générique JMX. Par exemple, si vous entrez ce qui suit :AdminControl.queryNames('WebSphere:type=Server,node=myNode,*')
A l'aide de Jacl :$AdminControl queryNames WebSphere:type=Server,node=myNode
Avec Jython :vous obtenez une liste vide en retour parce que l'argument de queryNames n'est pas un caractère générique. Aucun MBean serveur en cours d'exécution ne possède exactement ces propriétés de clés et aucune autre.print AdminControl.queryNames('WebSphere:type=Server,node=myNode')
- Si vous souhaitez afficher tous les MBeans représentant des applications s'exécutant sur un noeud particulier, appelez l'exemple suivant :A l'aide de Jacl :
$AdminControl queryNames WebSphere:type=Application,node=myNode,*
Avec Jython :print AdminControl.queryNames('WebSphere:type=Application,node=myNode,*')