JMX et beans gérés avec Spring Framework

WebSphere Application Server version 6.1 et les versions suivantes prennent en charge les beans gérés (Mbeans) JMX (Java™ Management Extensions) de Spring.

JMX et MBeans

Pour utiliser la prise en charge des beans gérés JMX de Spring, vous devez enregistrer ces beans avec l'instance MBeanServer du gestionnaire de conteneurs dans le serveur d'applications. Si vous n'indiquez pas de propriété de serveur pour le bean géré, l'objet MBeanExporter recherche une instance active de l'objet MBeanServer. Dans le cas d'une application exécutée dans le serveur d'applications, Spring Framework recherchera l'instance de MBeanServer du conteneur.

N'utilisez pas la classe MBeanServerFactory pour instancier un objet MBeanServer puis injecter cette instance dans l'objet MBeanExporter. N'utilisez pas non plus les classes de Spring Framework ConnectorServerFactoryBean ou JMXConnectorServer pour présenter l'instance locale de MBeanServer aux clients en ouvrant des ports JMX entrants.

Enregistrement de beans gérés Spring dans le serveur d'applications

Quand un bean géré est enregistré dans le serveur d'applications, il est identifié par un nom d'objet qualifié, javax.management.ObjectName. Exemple :
WebSphere:cell=99T73GDNode01Cell,name=JmxTestBean,node=99T73GDNode01,process=server1,
type=JmxTestBeanImpl 
Quand un bean géré est désenregistré, vous devez le rechercher avec le même nom qualifié complet au lieu de sa propriété de nom uniquement. La meilleure manière d'y arriver est d'implémenter l'interface org.springframework.jmx.export.naming.ObjectNamingStrategy. L'interface ObjectNamingStrategy encapsule la création des objets ObjectName et est utilisée par la classe MBeanExporter pour obtenir des objets ObjectName quand les beans sont enregistrés. Vous pouvez ajouter l'instance d'ObjectNamingStrategy au bean que vous enregistrez pour que le bean géré soit désenregistré correctement quand l'application est désinstallée. Exemple :
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter"
  lazy-init="false">
  <property name="beans">
    <map> <entry key="JmxTestBean" value-ref="testBean" /> </map>
  </property>
  <property name="namingStrategy" ref="websphereNamingStrategy" />
...
</bean>

Beans gérés et notifications

Pour utiliser des notifications, il est conseillé de définir le nom d'objet d'un bean géré de manière complète car le bean géré est identifié par un nom d'objet qualifié complet dans WebSphere Application Server. Exemple :
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter" 
  lazy-init="false">
  <property name="beans">
    <map>
      <entry key="JmxTestBean" value-ref="testBean" />
    </map>
  </property>
  <property name="namingStrategy" ref="websphereNamingStrategy" />
  <property name="notificationListenerMappings">
    <map>
      <entry key="WebSphere:cell=99T73GDNode01Cell, name=JmxTestBean,
			node=99T73GDNode01, process=server1, type=JmxTestBeanImpl">
        <bean class="client.MBeanListener" />
      </entry>
    </map>
  </property>
</bean>
[z/OS]

JMX Spring et méthodes à appels multiples sur z/OS

WebSphere Application Server version 6.1 et les versions suivantes prennent en charge les objets JMX Spring sur les serveurs de régions multi-serviteur. Toutefois, les options de déploiement sont limitées car vous ne pouvez pas utiliser Spring Framework pour spécifier des champs spécifiques à la plateforme dans le descripteur de bean géré. Par défaut, le serveur d'applications applique une stratégie à un appel de sorte qu'une seule instance du bean géré est appelé pour exécuter une requête dans une même région serviteur indéterminée. Ce comportement convient pour certains scénarios mais, le plus souvent, une application a besoin de déclarer une combinaison de méthodes à un appel et à plusieurs appels, et comprend une logique d'agrégation.


Icône indiquant le type de rubrique Rubrique de concept



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cspr_data_access_tran2
Nom du fichier : cspr_data_access_tran2.html