JMX e MBeans com o Spring Framework
O WebSphere Application Server Versão 6.1 e mais recente suporta Spring Java™ Management Extensions (JMX) MBeans.
JMX e MBeans
Para usar o suporte para Spring JMX MBeans, você deve registrar o JMX MBeans com a instância MBeanServer do gerenciador de cointêineres no servidor de aplicativos. Se você não especificar uma propriedade do servidor para o MBean, o objeto MBeanExporter tenta detectar uma instância MBeanServer que esteja executando. Portanto, para um aplicativo que executa no servidor de aplicativos, o Spring Framework localizaria a instância MBeanServer do contêiner.
Não use a classe MBeanServerFactory para instanciar uma instância MBeanServer e depois injetar essa instância no objeto MBeanExporter. Também, não use as classes ConnectorServerFactoryBean ou JMXConnectorServer do Spring Framework para expor a instância MBeanServer local a clientes por meio da abertura de portas JMX de entrada.
Registrando Spring MBeans no Servidor de Aplicativos
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 e Notificações
<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 e Métodos de Múltiplas Chamadas emz/OS
O WebSphere Application Server Versão 6.1 ou mais recente suporta Spring JMX em servidores de região com múltiplos servants. Porém, as opções de implementação são limitadas porque você não pode usar o Spring Framework para especificar campos específicos da plataforma no descritor MBean. O servidor de aplicativos assume como padrão a estratégia unicall para que somente uma instância do MBean, em uma região de servante indeterminada única, seja solicitada a executar um pedido. Para alguns cenários, este comportamento é adequado, mas muito frequentemente, um aplicativo precisa declarar uma combinação de métodos multicall e unicall, e incluir alguma lógica de agregação.