WebSphere Application Server, Version 6.1   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows, Windows Vista

             目次と検索結果のパーソナライズ化

複数の Java 2 Platform, Enterprise Edition アプリケーション・サーバーと使用するためのカスタム Java 管理クライアント・ プログラムのデプロイおよび管理

このセクションでは Java 2 Platform, Enterprise Edition (J2EE) サーバーの接続方法と、複数のベンダー・サーバーの管理方法を説明します。

始める前に

WebSphere Application Server は、JSR-77 (Java Specification Requests 77) として知られる J2EE Management 仕様を 完全にインプリメントします。ただし、J2EE 仕様と WebSphere Application Server インプリメンテーション間の細かい相違点を理解しておくことが、 Java 管理クライアント・プログラムを開発し、複数のベンダー・サーバーを管理する際に重要となります。 詳しくは、Java 2 Platform, Enterprise Edition (J2EE) Management Specification および MBean Java アプリケーション・プログラミング・インターフェース (API) 資料を参照してください。

このタスクについて

ご使用の管理クライアント・プログラムが WebSphere Application Server に排他的にアクセスする場合、Java API および WebSphere Application Server 定義 MBean を使用してこれらを管理することができます。プログラムが WebSphere Application Server と他の J2EE サーバーの両方にアクセスする必要がある場合は、J2EE Management 仕様で定義された API を使用します。

プロシージャー

  1. J2EE サーバーに接続します。
    Java Naming and Directory Interface (JNDI) から管理 Enterprise Bean をルックアップすることによって、 サーバーに接続します。管理 Enterprise Bean は、アプリケーション・サーバーで稼働する MBean サーバーにリモート・インターフェースを提供します。 管理 Enterprise Bean は、WebSphere Application Server 固有の機能を提供しないことを除いて、WebSphere Application Server 管理クライアントと同様に作動します。以下の例は、管理 Enterprise Bean のルックアップ方法を示しています。
    import javax.management.j2ee.ManagementHome;
    import javax.management.j2ee.Management;
    
    Properties props = new Properties();
    
    props.setProperty(Context.PROVIDER_URL, "iiop://myhost:2809");
    Context ic = new InitialContext(props);
    Object obj = ic.lookup("ejb/mgmt/MEJB");
    ManagementHome mejbHome = (ManagementHome)
            PortableRemoteObject.narrow(obj, ManagementHome.class);
    Management mejb = mejbHome.create();
    
    例では、Remote Method Invocation (RMI) コネクターのホストおよびポートを渡すことによって、 アプリケーション・サーバーに対する初期コンテキストを取得します。 RMI ポートを明示的にコーディングする必要があります (この場合、2809)。 ルックアップ・メソッドは、管理 Enterprise Bean ホームのロケーションである ejb/mgmt/MEJB パスのルックアップを実行します。 次に、次のステップで使用する mejb Stateless Session Bean を作成します。
  2. 複数のベンダー・アプリケーション・サーバーを管理します。

    mejb Stateless Session Bean の 作成後、それを使用して、アプリケーション・サーバーを管理することができます。 アプリケーション・サーバーからのコンポーネントは、仕様が定義する MBean として表示されます。 これらの MBean にはすべて、j2eeType 鍵プロパティーがあります。 この鍵プロパティーは、仕様が定義するタイプ・セットの 1 つです。 これらのすべてのタイプに、公開される属性のセットがあります。

    次の例を使用して、 複数のベンダー・アプリケーション・サーバーを管理してください。 例では Java 仮想マシン (JVM) MBean を使用して、アプリケーション・サーバー用の現行のヒープ・サイズを判別します。

    ObjectName jvmQuery = new ObjectName("*:j2eeType=JVM,*");
    Set s = mejb.queryNames(jvmQuery, null);
    ObjectName jvmMBean = (ObjectName) s.iterator().next();
    boolean hasStats = ((Boolean) mejb.getAttribute(jvmMBean,
            "statisticsProvider")).booleanValue();
    if (hasStats) {
        JVMStats stats = (JVMStats) mejb.getAttribute(jvmMBean,
                                                      "stats");
        String[] statisticNames = stats.getStatisticNames();
        if (Arrays.asList(statisticNames).contains("heapSize")) {
            System.out.println("Heap size: " + stats.getHeapSize());
        }
    }
    

    queryNames() メソッドは、最初に JVM MBean を照会します。getAttribute メソッドは、 statisticsProvider 属性を取得し、この MBean が統計を提供するかどうかを判別します。 MBean が提供している場合、例では stats 属性にアクセスし、 getHeapSize() メソッドを呼び出してヒープ・サイズを取得します。

結果

この例の長所は、任意のベンダー・アプリケーション・サーバーで実行できるという点です。 MBean がオプションで定義済みインターフェース (この場合、StatisticsProvider インターフェース) をインプリメントできることを実証します。 MBean が StatisticsProvider インターフェースをインプリメントすると、アプリケーション・サーバーが特定の統計 (この場合、ヒープ・サイズ) をサポートするかどうかがわかります。 この仕様はヒープ・サイズを定義しますが、この値はオプションです。 アプリケーション・サーバーがヒープ・サイズをサポートする場合は、JVM のヒープ・サイズを表示することができます。



関連概念
複数の Java 2 Platform, Enterprise Edition アプリケーション・サーバーの管理プログラム
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 5:05:53 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/tjmx_multappsrv_conn.html