Spring Framework での JMX と MBean
WebSphere® Application Server バージョン 6.1 以降は、Spring Java™ Management Extensions (JMX) MBean をサポートしています。
JMX および MBean
Spring JMX MBean のサポートを使用するには、アプリケーション・サーバーのコンテナー・マネージャーの MBeanServer インスタンスに JMX MBean を登録する必要があります。MBean にサーバー・プロパティーを指定しなかった場合は、MBeanExporter オブジェクトが、稼働中の MBeanServer インスタンスを検出しようとします。 したがって、アプリケーション・サーバーで稼働しているアプリケーションの場合、Spring Framework はコンテナーの MBeanServer インスタンスを特定します。
MBeanServerFactory クラスを使用して、MBeanServer インスタンスを開始し、次にそのインスタンスを MBeanExporter オブジェクトに注入しないようにしてください。また、Spring Framework の ConnectorServerFactoryBean または JMXConnectorServer クラスを使用して、インバウンド JMX ポートを開いてローカルの MBeanServer インスタンスをクライアントに公開しないでください。
アプリケーション・サーバーへの Spring MBean の登録
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>
MBean と通知
<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)
z/OS® での Spring JMX と複数呼び出しのメソッド
WebSphere Application Server バージョン 6.1 以降は、複数サーバント領域サーバー上の Spring JMX をサポートしています。ただし、Spring Framework を使用して MBean 記述子にプラットフォーム固有のフィールドを指定することはできないため、デプロイメント・オプションには制限があります。アプリケーション・サーバーでは単一呼び出しストラテジーがデフォルトであるため、単一の不確定サーバント領域では、要求の実行に要求されるのは MBean の 1 つのインスタンスだけです。シナリオによってはこの振る舞いが適切な場合がありますが、多くの場合、アプリケーションは複数呼び出し法と単一呼び出し法の組み合わせを宣言し、いくつかの集約ロジックを組み込む必要があります。