[Java規格支援機能]JMX

アプリケーション開発において、アプリケーションを監視したい場合があります。
そのような要件に応える規格が、JMX(Java Management Extensions)です。

JMXでは、JMXサーバにManaged Bean(MBean)と呼ばれるBeanを登録し、リモートから監視することができます。
JMXサーバへの接続方法を隠ぺいし、MBeanの監視を行うサービスがMBeanWatcherServiceです。

サンプルは、以下。



JMXサーバへの接続は、ローカルでの接続と、リモートへの接続で、2つの接続方法が定義されています。 ローカル接続は、javax.management.MBeanServerConnection。リモート接続は、javax.management.remote.JMXConnectorです。 これらの接続の取得方法を隠ぺいし、JMXサーバへの接続を取得する機能を抽象化したのが、MBeanServerConnectionFactoryインタフェースです。

関連するパッケージは、以下です。

アプリケーション向けインタフェース MBeanServerConnectionFactory

アプリケーション向けインタフェースMBeanServerConnectionFactoryは、JMXへの接続である、ローカル接続javax.management.MBeanServerConnectionと、リモート接続javax.management.remote.JMXConnectorを簡易に取得するためにアプリケーションが直接使用することもできますが、他のサービスの下位サービスとしても使用されます。
以下に上位サービスの一覧を示します。

上位サービス用途
jp.ossc.nimbus.service.test.action.MBeanCallActionServiceJMX接続を取得するために使用する。

MBeanServerConnectionFactoryを使った簡単なアプリケーションのサンプルを示します。

  1. import javax.management.MBeanServerConnection;
  2. import jp.ossc.nimbus.core.ServiceManagerFactory;
  3. import jp.ossc.nimbus.service.jmx.MBeanServerConnectionFactory;
  4. // MBeanServerConnectionFactoryを取得
  5. MBeanServerConnectionFactory factory = (MBeanServerConnectionFactory)ServiceManagerFactory.getServiceObject("MBeanServerConnectionFactory");
  6. // MBeanServerConnectionを取得する
  7. MBeanServerConnection con = factory.getConnection();

実装サービスの一覧は以下のとおりです。

実装サービス実装概要
jp.ossc.nimbus.service.jmx.DefaultMBeanServerConnectionFactoryServiceJMX接続を取得するMBeanServerConnectionFactoryインタフェースのデフォルト実装サービス