Web モジュール・クラス・ローダーの構成

インストール済み Web モジュールのクラス・ロード動作を制御する値を設定できます。

始める前に

このトピックでは、アプリケーション・サーバー上に Web モジュールがインストール済みになっていることが前提になっています。

このタスクについて

インストール済み Web モジュールのクラス・ローダー順序値を構成します。デフォルトで、Web は独自の Web アプリケーション・アーカイブ (WAR) クラス・ローダーを持ち、 WEB-INF/classes ディレクトリーおよび WEB-INF/lib ディレクトリーにある Web モジュールの内容をロードします。

アプリケーション・クラス・ローダーは、WAR クラス・ローダーの親です。 アプリケーション・クラス・ローダーの WAR クラス・ローダー・ポリシーの値は、 Web モジュールの内容をロードするために、WAR クラス・ローダーを使用するのか、またはアプリケーション・クラス・ローダーを 使用するのかを決定します。

デフォルトの WAR クラス・ローダー・ポリシー値は、 「アプリケーションの各 War ファイルのクラス・ローダー」です。ポリシーを「アプリケーションの各 War ファイルのクラス・ローダー」に設定すると、各 Web モジュールは、アプリケーション・クラス・ローダーを親に持つ独自のクラス・ローダーを受け取ります。ポリシーを「アプリケーションの単一クラス・ローダー」に設定すると、アプリケーション・クラス・ローダーでは、アプリケーションに関連付けられたエンタープライズ Bean (EJB) モジュール、共有ライブラリー、リソース・アダプター・アーカイブ (RAR) ファイル、および依存関係 Java™ アーカイブ (JAR) ファイルだけでなく、Web モジュールの内容もロードされます。したがって、親アプリケーション・クラス・ローダーの構成は WAR クラス・ローダーに影響を与えます。 管理コンソールの「クラス・ロードおよび更新の検出」ページのポリシーを設定することができます。

管理コンソールを使用して、アプリケーションおよび WAR クラス・ローダーを構成します。

重要: アプリケーションの実行中に アプリケーション設定を変更すると、アプリケーションは再始動されます。 スタンドアロン・サーバーでは、 変更内容を保存してからアプリケーションが再始動されます。複数サーバー製品では、 変更内容を保存してからアプリケーションが再始動され、 アプリケーションがインストールされているノード上のファイルが同期されます。マルチサーバー製品で同期が発生する時期を制御するには、「コンソール設定」ページの「変更をノードと同期する」を選択解除します。

手順

  1. まだアプリケーション・クラス・ローダーを構成していない場合は、これを行います。

    「Web および EJB モジュールのクラス再ロード設定のオーバーライド」「更新ファイルのポーリング間隔」「WAR クラス・ローダー・ポリシー」などの設定は、 Web モジュール・クラス・ロードに影響を与えることがあります。

    「WAR クラス・ローダー・ポリシー」が「アプリケーションの各 War ファイルのクラス・ローダー」に 設定されている場合、Web モジュールは独自のクラス・ローダーを受け取り、Web モジュールの WAR クラス・ローダー・ポリシーによって、WAR クラス・ローダーのモードが定義されます。このポリシーが「アプリケーションの単一クラス・ローダー」に設定されている場合は、 アプリケーション・クラス・ローダーが Web モジュールの内容をロードします。

  2. インストール済み Web モジュールのクラス・ローダー順序を構成します。

    Web モジュール・クラス・ローダー・モードは、クラス・ローダーが、クラスをロードする際に、 最初に親アプリケーション・クラス・ローダーを検索するのか、WAR クラス・ローダーを検索するのかを指定します。デフォルトでは、クラスをロードする際に、親アプリケーション・クラス・ローダーを検索してから、 WAR クラス・ローダーを検索します。

    「クラス・ローダー順序」で、以下の値のいずれかを選択します。

    詳しくは、Redbooks 資料「Understanding Class Loaders」(特に、ステップバイステップの説明『Changing the WAR class loader delegation mode』) を参照してください。

    オプション 説明
    最初に親クラス・ローダーでロードしたクラス このオプションでは、クラス・ローダーが、Web モジュール内に存在するクラスよりも製品によって提供されているクラスを優先します。このアプローチが、Development Kit クラス・ローダーおよび WebSphere® Application Server クラス・ローダーの標準です。
    最初にローカル・クラス・ローダーでロードしたクラス このオプションでは、クラス・ローダーが、製品によって提供されているクラスよりもWeb モジュール内に存在するクラスを優先します。同じクラスが製品と Web モジュールの両方に存在する場合は、Web モジュールのクラスがロードされます。
    重要:最初にローカル・クラス・ローダーでロードしたクラス」値を指定すると、オーバーライドされたクラスとオーバーライドされていないクラスを 混用した場合に、LinkageErrors または ClassCastException のメッセージが出される可能性があります。
  3. 「OK」をクリックします。

次のタスク

管理構成の変更を保存します。


トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=trun_classload_web
ファイル名:trun_classload_web.html