第23章
この章では、exteNd DirectorのDebugサブシステムを使用する方法について説明します。トピックは次のとおりです。
Debugサブシステムでは、そのアプリケーションおよびサーバ環境についてのレポートを提供することによって、展開されたexteNd Directorアプリケーションを簡単にトラブルシューティングできます。次のようなレポートがあります。
Debugサブシステムは、サポートされているタグライブラリ(debug.tld)および基礎となるクラスと共にさまざまなデバッグレポートを表示する一連のJSPページから構成されています。
debugEbo.jspには、exteNd Directorリソースレポートが表示されます。ここでは、debug.tldで定義されているカスタムタグDebugEboが使用されます。
debugResources.jspには、HTTPリソースレポートが表示されます。ここでは、debug.tldで定義されているカスタムタグDebugResourcesが使用されます。
debugJNDI.jspには、JNDIリソースレポートが表示されます。ここでは、debug.tldで定義されているカスタムタグDebugJNDIが使用されます。
debugArchives.jspには、Novellアーカイブリソースレポートが表示されます。ここでは、debug.tldで定義されているカスタムタグDebugArchiveが使用されます。
EARプロジェクトでは、デバッグシステムはDebug.warファイルにパッケージ化されています。WARプロジェクトでは、サブシステムに必要なリソースはWAR内の適切な場所に保存されています。 たとえば、JSPページはWARのトップレベルの[pages]フォルダに保存されています。
Debugサブシステムでは、実行する環境についての多くの情報が公開されます。デフォルトでは、このサブシステムは保護されていません。
通常は、運用環境にDebugサブシステムを展開しないようにします。 運用環境にDebugサブシステムを展開する場合は、(デバッグのweb.xmlファイルを編集することによって)少なくとも/Debug/ URIを制限して、認証ユーザのみがアクセスできるようにします。
exteNd DirectorアプリケーションでDebugサブシステムを使用する
DebugサブシステムをexteNd Directorプロジェクトに追加します。
[ファイル]>[新規プロジェクト]の順に選択することによって新しいexteNd Directorプロジェクトを作成して一般設定を要求すると、Debugサブシステムは自動的に含まれます。 カスタム設定を要求する場合、Debugサブシステムを明示的に選択する必要があります。
後で[プロジェクト]>[exteNd Director Project]>[設定]の順に選択することによって、exteNd Directorプロジェクトを変更して、Debugサブシステムを追加または削除できます。
これで、Debugサブシステムを実行する準備が整いました。
exteNd Directorアプリケーションの一部としてDebugサブシステムを展開したら、このデバッグシステムは、簡単にWebブラウザを使用して1つまたは複数のデバッグページにアクセスすることによって実行できます。
Debugサブシステムでは、デバッグレポートへのリンクを表示するホームページが利用できます。

exteNd Directorリソースレポートを使用して、次のいずれかの処理を実行できます。
デフォルトでは、レポートにはすべてのエントリが表示されますが、オプションで指定された文字列で開始または終了するエントリのみを選択することもできます。各エントリの現在の(メモリ内)値が表示されます(これらの値はサブシステムconfig.xmlファイルからロードされますが、API呼び出しを通じて一時的に変更される可能性もあります)。
アプリケーションの「サブシステムサービスエントリ」を表示する。
デフォルトでは、レポートにはすべてのエントリが表示されますが、オプションで指定された文字列で開始するエントリのみを選択することもできます。各エントリの現在の(メモリ内)値が表示されます(これらの値はサブシステム services.xmlファイルからロードされますが、API呼び出しを通じて一時的に変更される可能性もあります)。
Debugサブシステムには、このレポート情報を取得するための別の方法もあります。それはecho servletです。
アプリケーションのexteNd Directorリソースに関してレポートする
[設定エントリ]または[サービスエントリ]を選択すると、オプションでレポートクエリの範囲をしぼることができます。特定の文字列を含むエントリ名のみを表示する
Webブラウザで、エコーサーブレットURLの入力を次のように開始します。
生成するレポートに関する情報を追加することによって、URLの入力を完了します。
|
作業内容 |
URLに追加する内容 |
|---|---|
|
サブシステム設定エントリを表示する |
次のいずれか1つ |
|
サブシステムサービスエントリを表示する |
次のいずれか1つ |
|
リソースセットバインドを検証する |
|
たとえば、このURLはエコーサーブレットを呼び出して、com.sssw.portalで開始するサブシステム設定エントリを表示します。
http://localhost/MyDirectorDB/MyDirectorApp/Debug/echo?type=c&sw=com.sssw.portal
HTTPリソースレポートを使用して、アプリケーションで特定のURIにマップされているサーブレットおよびJSPページに関する情報を表示できます。 レポートは、Servlet APIを使用することによってこの情報を取得します。

[URIから属性を取得]テキストボックスに、情報が必要なマッピングを入力します。
アプリケーションに対して確立したEARネームスペースで開始します。この例では、EARネームスペースはMyDirectorAppです。
/MyDirectorApp/Portal/
JNDIリソースレポートを使用して、J2EEサーバでアプリケーションに対して使用できるJNDIリソースのツリーを表示できます。exteNd Directorアプリケーションのコードは、JNDIルックアップを通じてこれらのリソースにアクセスできます。
このレポートはexteNd Application Serverで最大の効果を発揮します。
exteNd Directorアーカイブリソースレポートを使用して、アプリケーションサーバに展開されたアーカイブを一覧表示できます。このリストを使用して、詳細を表示するアーカイブを選択できます。このレポートによって提供されるアーカイブ詳細には、次の内容が含まれています。
レポートでは、マニフェストクラスパスで参照されているものの、サーバ上のクラスパスでは使用できないJARファイルが確認されます。このような未解決の参照によって、ランタイム時にClassNotFoundExceptionが発生する可能性があります。レポートではこれらが赤色で表示され、ユーザに対して警告します。
exteNd Directorアーカイブレポートに関してレポートする
[URLからJarを取得]テキストボックスに入力して、適切なサーバおよびデータベースを指定します。たとえば、次のとおりです。
http://localhost:80/MyDirectorDB
Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...