JMX und MBeans mit Spring Framework
WebSphere Application Server Version 6.1 und höher unterstützt Spring-JMX-MBeans (Java™ Management Extensions).
JMX und MBeans
Wenn Sie die Unterstützung für Spring-JMX-MBeans verwenden möchten, müssen Sie die JMX-MBeans bei der MBeanServer-Instanz des Containermanagers im Anwendungsserver registrieren. Wenn Sie keine Servereigenschaft für die MBean angeben, versucht das MBeanExporter-Objekt, eine aktive MBeanServer-Instanz zu erkennen. Für Anwendungen, die im Anwendungsserver ausgeführt werden, würde Spring Framework somit die MBeanServer-Instanz des Containers finden.
Verwenden Sie die Klasse "MBeanServerFactory" nicht, um eine MBeanServer-Instanz zu instanzieren und diese Instanz anschließend in das MBeanExporter-Objekt zu injizieren. Verwenden Sie auch nicht die Spring-Framework-Klassen "ConnectorServerFactoryBean" und "JMXConnectorServer", um die lokale MBeanServer-Instanz durch Öffnen eingehender JMX-Ports für Clients bereitzustellen.
Spring-MBeans im Anwendungsserver registrieren
WebSphere:cell=99T73GDNode01Cell,name=JmxTestBean,node=99T73GDNode01,process=server1,type=JmxTestBeanImpl
<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>
MBeans und Benachrichtigungen
<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]](../images/ngzos.gif)
Spring-JMX- und -Multicall-Methoden unter z/OS
WebSphere Application Server Version 6.1 und höher unterstützt Spring-JMX in Servern mit mehreren Servant-Regionen. Die Implementierungsoptionen sind jedoch begrenzt, weil Sie Spring Framework nicht verwenden können, um plattformspezifische Felder im MBean-Deskriptor anzugeben. Der Anwendungsserver verwendet standardmäßig die sogenannte Unicall-Strategie, sodass jeweils nur eine einzige Instanz der MBean in einer einzelnen unbestimmten Servant-Region zur Ausführung einer Anforderung aufgefordert wird. Für einige Szenarien ist dieses Verhalten angebracht, aber es gibt mehr Fälle, in denen eine Anwendung eine Kombination von Multicall- und Unicall-Methoden deklarieren und eine gewisse Aggregationslogik einschließen muss.