Exemples d'enregistrement de beans géré

Une application peut enregistrer ses propres instances de bean géré dans le profil Liberty. Ces instances de bean géré peuvent ensuite être utilisées par d'autres applications ou des administrateurs externes.

Toute application peut enregistrer un bean géré par le biais d'une instance MBeanServer. Supposez qu'une application contient une classe appelée org.example.Example qui implémente l'interface org.example.ExampleMBean, qui définit des attributs et des opérations. Comme dans l'exemple suivant, l'application peut simplement instancier la classe Example, puis l'enregistrer en utilisant un élément ObjectName unique. Si l'élément ObjectName choisi est déjà utilisé, une exception javax.management.InstanceAlreadyExistsException est émise.
import java.lang.management.ManagementFactory;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.example.Example;

...

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
Object mbean = new Example();
ObjectName name = new ObjectName("org.example.MyApplication:name=Example");
mbs.registerMBean(mbean, name);
De plus, une application peut enregistrer un bean géré qui étend java.lang.ClassLoader et permet d'accéder à plusieurs classes d'implémentation de bean géré. Vous pouvez ensuite utiliser tout autre client JMX, local ou distant, pour créer et enregistrer des beans gérés fournis par l'application. Par exemple, supposez que l'application possède une classe de bean géré org.example.ApplicationClassLoader qui effectue les tâches suivantes :
  • Implémente une interface vide org.example.ApplicationClassLoaderMBean
  • Etend java.lang.Classloader et
  • Fournit l'accès à la classe d'implémentation de bean géré org.example.Example
L'application peut enregistrer une instance de ApplicationClassLoader pour rendre disponible le bean géré Example pour les autres clients JMX comme suit :
import java.lang.management.ManagementFactory;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.example.ApplicationClassLoader;

...

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
Object classLoader = new ApplicationClassLoader();
ObjectName name = new ObjectName("org.example.MyApplication:name=ClassLoader");
mbs.registerMBean(classLoader, name);
Tout client JMX peut créer une instance Example. L'exemple suivant suppose que la variable mbs est une instance MBeanServer ou MBeanServerConnection. Voir Utilisation de beans gérés JMX dans le profil Liberty.
import javax.management.ObjectName;

...

ObjectName loaderName = new ObjectName("org.example.MyApplication:name=ClassLoader");
ObjectName exampleName = new ObjectName("org.example.MyApplication:name=Example");
mbs.createMBean("org.example.Example”, exampleName, loaderName);

Si nécessaire, vous pouvez utiliser d'autres formes de la méthode MBeanServer.createMBean pour créer le bean géré à l'aide de constructeurs autres que ceux par défaut.

Pour plus d'informations sur l'interface de gestion, voir le document de l'API Java pour le profil Liberty. La documentation d'API Java pour chaque API de profil Liberty est détaillée dans la section Interfaces de programmation (API) du centre de documentation et est également disponible dans un fichier .zip distinct dans l'un des sous-répertoires javadoc du répertoire ${wlp.install.dir}/dev.


Icône indiquant le type de rubrique Rubrique de référence

Dispositions pour les centres de documentation | Commentaires


Icône d'horodatage Dernière mise à jour: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=rwlp_mbeans_registration
Nom du fichier : rwlp_mbeans_registration.html