nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
アプリケーション開発において、アプリケーションを監視したい場合があります。
そのような要件に応える規格が、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は、JMXへの接続である、ローカル接続javax.management.MBeanServerConnectionと、リモート接続javax.management.remote.JMXConnectorを簡易に取得するためにアプリケーションが直接使用することもできますが、他のサービスの下位サービスとしても使用されます。
以下に上位サービスの一覧を示します。
上位サービス | 用途 |
jp.ossc.nimbus.service.test.action.MBeanCallActionService | JMX接続を取得するために使用する。 |
MBeanServerConnectionFactoryを使った簡単なアプリケーションのサンプルを示します。
- import javax.management.MBeanServerConnection;
- import jp.ossc.nimbus.core.ServiceManagerFactory;
- import jp.ossc.nimbus.service.jmx.MBeanServerConnectionFactory;
- // MBeanServerConnectionFactoryを取得
- MBeanServerConnectionFactory factory = (MBeanServerConnectionFactory)ServiceManagerFactory.getServiceObject("MBeanServerConnectionFactory");
- // MBeanServerConnectionを取得する
- MBeanServerConnection con = factory.getConnection();
実装サービスの一覧は以下のとおりです。
実装サービス | 実装概要 |
jp.ossc.nimbus.service.jmx.DefaultMBeanServerConnectionFactoryService | JMX接続を取得するMBeanServerConnectionFactoryインタフェースのデフォルト実装サービス |