WebOTX Manual V10.2 (第4版) 目次を表示 |
ここでは、JMX Remote API 利用者向けにWebOTXが提供しているクラスについて 説明します。
JMX Remote API を利用する場合には、JMXConnectorオブジェクトを取得する
ことで、サーバ側の MBean の情報を取得することができます。
JMXConnector オブジェクトの取得方法としては、JMX Remote API を利用してプロファイル情報を設定する方法 [JMX Remote API 用クラス] と、WebOTXが提供するクライアント接続用のクラス(JMXRemoteClient)を利用する方法 [クライアント接続用クラス] があります。
なお、JMX Remote API の利用については
[ JMXアプリケーションの開発 ]
を参照してください。
また、各クラスのリファレンス情報については、下記を参照してください。
WebOTX 提供クラス(for JMX Remote API)
JMX Remote APIを利用する場合、プロファイル情報をサーバとクライアントで 一致させる必要があります。
WebOTXで設定している JMX Remote API のプロファイル情報は次の通りです。
プロファイル | 設定値 |
jmx.remote.profiles | "TLS SASL/PLAIN" |
jmx.remote.tls.socket.factory | (証明書の情報から作成したSSLSocketFactoryオブジェクト) |
jmx.remote.tls.enabled.protocols | "TLSv1" |
jmx.remote.tls.enabled.cipher.suites | "SSL_RSA_WITH_NULL_MD5" |
jmx.remote.sasl.callback.handler | (WebOTXで提供するUserPasswordCallbackHandlerオブジェクト) |
WebOTX は、JMX Remote API の JMXMPプロトコルを利用する場合、 SASL/PLAIN
認証方式を利用しています。
JMX Remote API 利用者は、このSASL/PLAIN認証方式を利用するために、
java.security.Provider と
javax.security.auth.callback.CallnbackHandler の実装クラスとして、
WebOTXが提供している次のクラスを指定する必要があります。
(例) import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; import com.nec.webotx.enterprise.admin.jmx.remote.client.UserPasswordCallbackHandler; import com.nec.webotx.enterprise.admin.jmx.remote.plainclient.ClientProvider; ... HashMap env; ... Security.addProvider(new ClientProvider()); ... env.put("jmx.remote.sasl.callback.handler", new UserPasswordCallbackHandler(user, password)); ... JMXServiceURL url = new JMXServiceURL("jmxmp", "localhost", 6712); JMXConnector jmxc = JMXConnectorFactory.connect(url, env); .... |
上記のように JMX Remote API を利用する場合には、既定のプロファイル
情報をクライアント側で設定し、サーバ側のプロファイル設定と一致させる必要があります。
次のクラスを利用することで、WebOTX(サーバ側)で設定しているプロファイル情報
を意識せずにサーバ接続が可能となり、JMXConnector オブジェクトを取得できます。
(例) import javax.management.remote.JMXConnector; import javax.management.remote.JMXServiceURL; import com.nec.webotx.enterprise.admin.jmx.remote.client.*; ... JMXRemoteClient jmxcl = JMXRemoteClientFactory.getJMXRemoteClient(); jmxcl.config(KEYSTORE, KEYPASS, true); JMXServiceURL url = JMXServiceURL("jmxmp". "locahost", 6712); JMXConnector jmxc = jmxcl.connect(url.toString(), user, password); ... |