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 の登録

MBean がアプリケーション・サーバーに登録されている場合、その MBean は完全修飾オブジェクト名 javax.management.ObjectName で識別されます。以下に例を示します。
WebSphere:cell=99T73GDNode01Cell,name=JmxTestBean,node=99T73GDNode01,process=server1,
type=JmxTestBeanImpl
MBean が登録済みの場合、その MBean の検索には、その MBean の名前プロパティーではなく、同じ完全修飾名を使用する必要があります。これを管理する最も良い方法は、org.springframework.jmx.export.naming.ObjectNamingStrategy インスタンスを実装することです。ObjectNamingStrategy インターフェースは ObjectName オブジェクトの作成をカプセル化しており、MBeanExporter クラスは、Bean の登録時にこのインターフェースを使用して ObjectNames を取得します。アプリケーションのアンインストール時に MBean の登録抹消が正しく行われるよう、登録している Bean に ObjectNamingStrategy インスタンスを追加できます。以下に例を示します。
<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 と通知

通知を使用するには、MBean のオブジェクト名を完全修飾名で定義することをお勧めします。これは、MBean は WebSphere Application Server への登録時には完全修飾オブジェクト名で認識されるためです。以下に例を示します。
<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]

z/OS® での Spring JMX と複数呼び出しのメソッド

WebSphere Application Server バージョン 6.1 以降は、複数サーバント領域サーバー上の Spring JMX をサポートしています。ただし、Spring Framework を使用して MBean 記述子にプラットフォーム固有のフィールドを指定することはできないため、デプロイメント・オプションには制限があります。アプリケーション・サーバーでは単一呼び出しストラテジーがデフォルトであるため、単一の不確定サーバント領域では、要求の実行に要求されるのは MBean の 1 つのインスタンスだけです。シナリオによってはこの振る舞いが適切な場合がありますが、多くの場合、アプリケーションは複数呼び出し法と単一呼び出し法の組み合わせを宣言し、いくつかの集約ロジックを組み込む必要があります。


トピックのタイプを示すアイコン 概念トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cspr_data_access_tran2
ファイル名:cspr_data_access_tran2.html