クラス・ローダーのトラブルシューティング

クラス・ローダーは、クラス・ファイルを検出し、ロードします。デプロイされたアプリケーションを正常に稼働させるには、アプリケーションおよびそのモジュールに影響するクラス・ローダーは、アプリケーションが必要とするファイルおよびリソースを検索できるよう構成される必要があります。クラス・ローダーでの問題の診断は、複雑で面倒な場合があります。問題の診断と修正をより迅速に行うには、管理コンソールのクラス・ローダー・ビューアーを使用して、 クラス・ローダーおよび各クラス・ローダーによりロードされるクラスを調べます。

始める前に

このトピックでは、本製品でサポートされるサーバーにアプリケーションをインストールしてあること、 およびアプリケーションまたはそのモジュールが使用するクラス・ローダーを調べることを前提とします。 モジュールは、Web モジュール (.war ファイル) であることも、エンタープライズ Bean (EJB) モジュール (.jar ファイル) であることもあります。 クラス・ローダー・ビューアーを使用すると、ランタイム環境におけるクラス・ローダーを調べることができます。

また、このトピックは、クラス・ローダー・ビューアーのサービスが使用可能になっていることも前提としています。 「サーバー」 > 「サーバー・タイプ」 > 「WebSphere Application Server」 > server_name > 「クラス・ローダー・ビューアー・サービス」をクリックして、サービスを使用可能に設定し、サーバーを再始動します。

このタスクについて

WebSphere® Application Server のランタイム環境は、以下のクラス・ローダーを使用して、以下の順にアプリケーションの新規のクラスを検索して、それをロードします。

  1. Java 仮想マシンで作成される、ブートストラップ、拡張、および CLASSPATH のクラス・ローダー。
  2. WebSphere 拡張クラス・ローダー
  3. サーバーで稼働中のエンタープライズ・アプリケーションのエレメントをロードする、1 つ以上のアプリケーション・モジュール・クラス・ローダー
  4. ゼロ以上の Web モジュール・クラス・ローダー
クラス・ローダーの階層

各クラス・ローダーは、直前のクラス・ローダーの子になっています。 つまり、アプリケーション・モジュール・クラス・ローダーは WebSphere 拡張クラス・ローダーの子です。 さらに、WebSphere 拡張クラス・ローダーは CLASSPATH Java クラス・ローダーの子です。通常は、クラスをロードする 必要があるたびに、クラス・ローダーは要求を親クラス・ローダーに委任します。 どの親クラス・ローダーもクラスを検索できない場合は、元のクラス・ローダーがクラ スをロードしようとします。 要求は親クラス・ローダーに送ることしかできず、子クラス・ローダーに送ることはで きません。 クラスがクラス・ローダーによってロードされると、ロードしようとする新規のクラスは、同じクラス・ローダーを再利用するか、クラスが検出されるまで優先順位リストを上にたどります。

アプリケーションの成果物をロードするクラス・ローダーが正しく構成されていない場合、 アプリケーションを開始または実行する際に Java 仮想マシン (JVM) がクラス・ロード例外をスローすることがあります。 クラス・ロード例外では、正常に構成されなかったクラス・ローダーにより発生する例外のタイプについて説明し、クラス・ローダー・ビューアーを使用してクラス・ローダーの構成を訂正する方法について示しています。 例外のタイプには、以下のものがあります。

クラス・ローダー・ビューアーを使用して、クラス・ローダーを調べ、アプリケーションまたはクラス・ローダー構成の問題を訂正します。

手順

次のタスク

クラス・ローダーの問題が解決しない場合は、クラス・ロード例外およびクラス・ロードを参照してください。


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



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