ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server Java EE管理APIによるモニタリングと管理
11g リリース1(10.3.3)
B61635-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品

 

Oracle® Fusion Middleware

Oracle WebLogic Server Java EE管理APIによるモニタリングと管理

11g リリース1 (10.3.3)

B61635-01(原本部品番号:E13736-03)

2010年4月

このドキュメントでは、Java EE管理API群を使用すると、ソフトウェア開発者は、JDBC接続プールやデプロイされているアプリケーションなどのリソースをそれ1つで検出して参照できるJavaプログラムをJava EE Webアプリケーション・サーバー上に作成できます。

概要とロードマップ

Java EE管理仕様には、Java EE Webアプリケーション・サーバーおよびそのリソースの実行時状態をモニターおよび管理するための標準データ・モデルが記述されています。また、Java EE MEJB (Management EJB)コンポーネントによるモデルの標準マッピングも含まれています。

次の項では、このマニュアル、『Oracle WebLogic Server Java EE管理APIによるモニタリングと管理』の内容と構成について説明します。

ドキュメントの内容と対象読者

このドキュメントは、Java EEアプリケーション用の管理サービスを開発するソフトウェア開発者、およびJMX互換の管理システムを開発するソフトウェア・ベンダーを対象としています。また、WebLogic Serverを評価するビジネス・アナリストや、特定のアプリケーションでJMXの使用を考えているシステム設計者にとって便利な情報も掲載されています。

このドキュメントは、ソフトウェア・プロジェクトの設計段階と開発段階に関する情報を説明するものです。このドキュメントでは、プロダクション段階での管理、モニター、パフォーマンス・チューニングについては扱いません。それらのトピックに関するWebLogic Serverのドキュメントとリソースへのリンクについては、「関連ドキュメント」を参照してください。

このドキュメントは、Java EEおよび一般的なアプリケーション管理の概念に精通している読者を対象としています。このドキュメントでは、限定的でありながら有用な一連のJMX管理サービスを開発するための実践的な方法を重点的に扱います。JMXをより広範な管理上の問題に適用するには、「関連ドキュメント」に挙げるJMX仕様などのドキュメントを参照してください。

このドキュメントの手引き

このドキュメントの構成は次のとおりです。

関連ドキュメント

「Sun Developer Network」には、JMXに関する書籍、ホワイトペーパー、および詳細情報へのリンクが掲載されたWebサイトhttp://java.sun.com/javase/technologies/core/mntr-mgmt/javamanagement/があります。

JMX 1.2仕様およびAPIドキュメントを参照する場合は、http://jcp.org/aboutJava/communityprocess/final/jsr003/index3.htmlからダウンロードしてください。

JMXリモートAPI 1.0仕様およびAPIドキュメントを参照する場合は、http://jcp.org/aboutJava/communityprocess/final/jsr160/index.htmlからダウンロードしてください。

WebLogic Serverアプリケーション用に他のタイプの管理サービスを開発するためのガイドラインについては、以下のドキュメントを参照してください。

  • 『アプリケーション・ロギングのWebLogicロギング・サービス・ユーザーズ・ガイド』。WebLogicによるログ・メッセージのインターナショナライゼーションとローカライゼーションのサポートについて説明し、WebLogic Serverで提供されているテンプレートおよびツールを使用して、ロケール固有のメッセージ・カタログを作成または編集する方法を示します。

  • 『WebLogic診断フレームワークの構成と使い方』。システム管理者が、JMX、ロギングなどの管理機能を通じて公開されていないアプリケーション・モニター・データを収集する方法について説明します。

WebLogic Serverアプリケーションを開発およびチューニングするためのガイドラインについては、以下のドキュメントを参照してください。

  • 『WebLogic Serverアプリケーションの開発』。WebLogic Serverアプリケーションの開発ガイドです。

  • 『JMXによる管理の容易なアプリケーションの開発』。カスタムMBeanを作成および登録する方法について説明します。

WebLogic ServerでのJava EE管理APIの使用

Java EE管理API群を使用すると、ソフトウェア開発者は、JDBC接続プールやデプロイされているアプリケーションなどのリソースをそれ1つで検出して参照できるJavaプログラムをJava EE Webアプリケーション・サーバー上に作成できます。このAPI群はJava EEの管理仕様の一部です。Java EEの管理仕様では、すべてのJava EE Webアプリケーション・サーバーは標準データ・モデルでリソースを記述する必要があります。

以下の節では、WebLogic ServerでJava EE管理APIを使用する方法について説明します。

Java EE管理モデルとAPIについて

Java EE管理データ・モデルでは、Webアプリケーション・サーバー・リソース・タイプの各インスタンスはJava EE管理対象オブジェクト(JMO)によって表現されます。Java EE管理仕様では、どのタイプのリソースをJMOで表すべきかを厳密に定めています。JMO自体には、データ・モデルにオブジェクトの場所を記述する際に使用される、一連の限られた属性のみが含まれます。

Java EE管理仕様は、http://jcp.org/aboutJava/communityprocess/final/jsr077/index.htmlでダウンロードしてください。

JMOの階層

データ・モデルでは、JMOはツリー構造で階層状に構成されます。ルートのJMO J2EEDomainは、論理的に関連付けられたWebアプリケーション・サーバー・インスタンスの集合を表します。J2EEDomainには、J2EEServer JMOのすべてのインスタンスのオブジェクト名が含まれ、各J2EEServer JMOは、その集合内にある1つのサーバー・インスタンスを表しています。

JavaアプリケーションではJMOの階層を参照して、オブジェクト名の問合せやその問合せ結果で指定されるJMOのルックアップを再帰的に行えます。

JMOのオブジェクト名

各JMOインスタンスは、javax.management.ObjectNameのユニークなオブジェクト名によって識別されます。オブジェクト名は、以下のパターンを使用します。

domain:name=j2eeType=value,name=value,parent-j2eeType[,property=value]* 

たとえばmydomain:J2EEtype=J2EEDomain,name=mydomainのようになります。

Java EE管理仕様では、各タイプのJMOのオブジェクト名には名前と値のペアが必須であることが厳密に定められています。

それぞれの子JMOのオブジェクト名には、その親JMOのオブジェクト名の名前と値のペアが含まれます。あるサーバー・インスタンスのJMOの名前が、

mydomain:j2eeType=J2EEServer,name=myserver 

である場合、そのサーバー・インスタンスにデプロイされたアプリケーションの一部であるサーブレットのJMOの名前は次のようになります。

mydomain:J2EEApplication=myapplication,J2EEServer=myserver,WebModule=myapp_mywebmodule,j2eeType=Servlet,name=myservlet_name 

名前と値のペアは、任意の順序で構いません。

JMOの任意指定の機能

Java EE管理仕様のバージョン1.0では、Webアプリケーション・サーバーがJMOを実装し、JMOへのAPIアクセスを提供していることが必須事項です。

必要に応じて、パフォーマンス統計や管理操作を行ったり、指定されたイベントが発生したときに通知を送信したりするようにJMOを実装できます。

JMOへのアクセス

JavaアプリケーションからJMOへのアクセスは、MEJB (Management Enterprise Java Bean)のリモート・インタフェースであるjavax.management.j2ee.Managementを介して行われます。

Java EE管理仕様では、MEJBのホーム・インタフェースがサーバーのJNDIツリーにejb.mgmt.MEJBとして登録されている必要があります。

javax.management.j2eeパッケージのAPIリファレンスhttp://java.sun.com/javaee/5/docs/api/javax/management/j2ee/package-summary.htmlを参照してください。

WebLogic ServerでのJava EE管理モデル

バージョン9.0の時点では、WebLogic ServerにはJava EE管理仕様バージョン1.1の必要な機能のみが実装されています。そのため、次の制限があります。

  • JMOはパフォーマンス統計や管理操作、または通知の送信を行いません。

  • Common Information Model (CIM)へのマッピングは行いません。

  • SNMPの管理情報ベース(MIB)へのマッピングは行いません。

MEJBとJMOは管理サーバーでのみ使用できます。これはJava EE管理モデルと一貫性があります。Java EE管理モデルでは、論理的に関連のあるいくつかの集合内にほとんどのJava EE Webサーバーが存在し、その集合内にはサーバー・インスタンスへのアクセスやそれらの管理を行うための中枢があることを前提としています。Javaアプリケーションでは、WebLogic Serverドメインの任意のサーバー・インスタンスの任意のリソースを表すJMOを管理サーバーから参照できます。

WebLogic ServerではJMOをMBeanのラッパーとして実装しているため、JMOに対応するWebLogic Server MBeanに変更が加えられると、その変更はJava EE管理APIによってすぐに反映されます。

WebLogic ServerのすべてのJMOのオブジェクト名は、domain:の部分がWebLogic Serverドメインの名前と一致しています。

WebLogic ServerでのMEJBへのアクセス

モニターするデータをMEJBを通じて取得するには以下を実行します。

  1. ejb.mgmt.MEJBの下にある管理サーバーのJNDIツリーを介してjavax.management.j2ee.ManagementHomeインタフェースをルックアップします。

  2. ManagementHomeを使用してMEJBのリモート・インタフェースであるjavax.management.j2ee.Managementのインスタンスを生成します。

例: JMOの名前の問合せ

サンプル・クラスでは、WebLogic ServerドメインのMEJBにアクセスし、javax.management.j2ee.Management.queryNamesメソッドを呼び出します。このメソッドはドメイン内のすべてのJMOのオブジェクト名を返します。

例: JMOの名前の問合せ1

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Iterator;
import java.util.Set;
import java.util.Properties;
import javax.management.j2ee.Management;
import javax.management.j2ee.ManagementHome;
import javax.management.AttributeNotFoundException;
import javax.management.InstanceNotFoundException;
import javax.management.ObjectName;
import javax.management.QueryExp;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.ejb.CreateException;
public class GetJMONames { 
   static String url = "t3://localhost:7001";
   static String user = "weblogic";
   static String password = "weblogic";
   public static void main(String[] args) {
      try {
         getAllJMONames();
      }catch(Exception e){
      System.out.println(e);
      }
   }
   public static Management getMEJBRemote()
       throws IOException, MalformedURLException,
       NamingException,CreateException
   {
      Context context = getInitialContext();
      ManagementHome home = (ManagementHome)
          context.lookup("ejb.mgmt.MEJB");
      Management bean = home.create();
      return bean;
   }
   public static Context getInitialContext()
          throws NamingException
   {
      Properties p = new Properties();
      p.put(Context.INITIAL_CONTEXT_FACTORY,
          "weblogic.jndi.WLInitialContextFactory");
      p.put(Context.PROVIDER_URL, url);
      if (user != null) {
         p.put(Context.SECURITY_PRINCIPAL, user);
         if (password == null)
            password = "";
            p.put(Context.SECURITY_CREDENTIALS, password);
         }
      return new InitialContext(p);
   }
   public static void getAllJMONames()
   {
      try {
         Management rhome = getMEJBRemote();
         String string = "";
         ObjectName name = new ObjectName(string);
         QueryExp query = null;
         Set allNames = rhome.queryNames(name, query);
         Iterator nameIterator = allNames.iterator();
         while(nameIterator.hasNext()) {
            ObjectName on = (ObjectName)nameIterator.next();
            System.out.println(on.getCanonicalName() + "\n");
         }
      } catch (Exception ex) {
            ex.printStackTrace();
      }
   }
}

表記規則

このドキュメントでは次の表記規則を使用します。

規則 意味
太字 太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。
イタリック体 イタリックは、ブック・タイトル、強調およびユーザーが特定の値を指定するプレースホルダー変数を示します。
固定幅フォント 固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

ドキュメントのアクセシビリティについて

オラクル社は、障害のあるお客様にもオラクル社の製品、サービスおよびサポート・ドキュメントを簡単にご利用いただけることを目標としています。オラクル社のドキュメントには、ユーザーが障害支援技術を使用して情報を利用できる機能が組み込まれています。HTML形式のドキュメントで用意されており、障害のあるお客様が簡単にアクセスできるようにマークアップされています。標準規格は改善されつつあります。オラクル社はドキュメントをすべてのお客様がご利用できるように、市場をリードする他の技術ベンダーと積極的に連携して技術的な問題に対応しています。オラクル社のアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/accessibility/を参照してください。

ドキュメント内のサンプル・コードのアクセシビリティについて

スクリーン・リーダーは、ドキュメント内のサンプル・コードを正確に読めない場合があります。コード表記規則では閉じ括弧だけを行に記述する必要があります。しかしJAWSは括弧だけの行を読まない場合があります。

外部Webサイトのドキュメントのアクセシビリティについて

このドキュメントにはオラクル社およびその関連会社が所有または管理しないWebサイトへのリンクが含まれている場合があります。オラクル社およびその関連会社は、それらのWebサイトのアクセシビリティに関しての評価や言及は行っておりません。

Oracleサポートへのアクセス

Oracleのお客様は、My Oracle Supportから電子サポートにアクセスできます。詳細は、http://www.oracle.com/support/contact.htmlにアクセスしてください。障害のあるお客様は、http://www.oracle.com/accessibility/support.htmlにアクセスしてください。


Oracle Fusion Middleware Oracle WebLogic Server Java EE管理APIによるモニタリングと管理, 11g リリース1(10.3.3)

B61635-01

Copyright © 2007, 2010, Oracle and/or its affiliates. All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアおよび関連ドキュメントが米国政府機関、もしくは米国政府機関に代わってこのソフトウェアをライセンスまたは使用する者に提供される場合は、次の注意が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアを危険が伴うアプリケーションで使用する際、このソフトウェアを安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

このソフトウェアおよびドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。