HTTP セッション・マネージャーのトラブルシューティングのヒント
WebSphere® Application Server によってホストされる Web アプリケーションでの HTTP セッションの作成または使用に関する問題については、このトラブルシューティングのヒントを使用してください。
ユーザー固有の問題についての説明がないか、HTTP セッションの問題に関する情報を参照してください。
問題のアプリケーションをホスティングするアプリケーション・サーバーの JVM ログを表示する。
- 各アプリケーションの開始中に書き込まれたメッセージを確認する。特に、次の 2 つのメッセージの間に書き込まれたメッセージを確認してください。
Starting application: application ..................... Application started: application
- このブロック内で、パッケージ名 com.ibm.ws.webcontainer.httpsession を含むエラーまたは例外を探す。エラーが見つからない場合、この結果はセッション・マネージャーが正常に開始されていることを示します。
- 「SRVE0054E: セッション・コンテキストと Web アプリケーションのロード中にエラーが発生しました」というエラー・メッセージは、所定のアプリケーションで SessionManager が正常に開始されなかったことを示します。
- セッション・マネージャーに関連するメッセージがあるかどうか、ログを確認する。これらのメッセージは、エラー・メッセージの場合は SESNxxxxE、警告メッセージの場合は SESNxxxxW という形式になっています。xxxx には、エラー番号が記されます。セッション・マネージャーのメッセージ表で拡張エラー定義を検索してください。
- 各アプリケーションの開始中に書き込まれたメッセージを確認する。特に、次の 2 つのメッセージの間に書き込まれたメッセージを確認してください。
問題のアプリケーションをホスティングするアプリケーション・サーバーの ログを表示する。
- 各アプリケーションの開始中に書き込まれたメッセージを確認する。特に、次の 2 つのメッセージの間に書き込まれたメッセージを確認してください。
Starting application: application ..................... Application started: application
- アプリケーションの開始に関連する上記メッセージ内で、com.ibm.ws.webcontainer.httpsession のパッケージ名を含むエラーまたは例外を探す。これらが見つからない 場合、セッション・マネージャーは正常に開始されています。
- 「SRVE0054E: セッション・コンテキストと Web アプリケーションのロード中にエラーが発生しました」というエラー・メッセージは、所定のアプリケーションで SessionManager が正常に開始されなかったことを示します。
- セッション・マネージャーに関連するメッセージがあるかどうか、ログを確認する。 これらのメッセージは、エラー・メッセージの場合は SESNxxxxE、警告メッセージの場合は SESNxxxxW という形式になっています。xxxx には、エラー番号が記されます。セッション・マネージャーのメッセージ表で拡張エラー定義を検索してください。
- 各アプリケーションの開始中に書き込まれたメッセージを確認する。特に、次の 2 つのメッセージの間に書き込まれたメッセージを確認してください。
HTTP セッション使用のベスト・プラクティスを参照する。
Web アプリケーションの実行中にセッション数を動的に表示するには、HTTP セッションのパフォーマンス・モニターを使用可能にする。パフォーマンスをモニターすることによって、セッションが実際に作成されているかどうかを判別するための情報を得ることができます。
アプリケーションの実行中に HTTP セッション・カウンターを表示する方法については、Tivoli® Performance Viewer (以前のリソース・アナライザー) を使用したパフォーマンスのモニターを参照する。
- また、セッション・トラッキングに関連した現行の構成および統計を表示する特殊なサーブレットを
起動することもできる。
このサーブレットには、パフォーマンス・モニター・ツールのすべてのカウンター、およびいくつかの追加のカウンターが含まれています。
- サーブレット名: com.ibm.ws.webcontainer.httpsession.IBMTrackerDebug。
- このサーブレットは、クラス名で動作できる Web モジュールであれば、どの Web モジュールからでも起動できます。例えば、default_app、http://localhost:9080/servlet/com.ibm.ws.webcontainer.httpsession.IBMTrackerDebug を使用します。
- serve by class name 機能を使用してモジュールを表示する場合、 アプリケーションを表示できるユーザーは誰でもこのモジュールを表示できることに注意してください。代わりに、保護された特定の URL をサーブレットにマップして、「クラス名ごとにサーブレットを提供する」設定を使用不可にすることができます。
HTTP セッション・マネージャー・コンポーネントのトレースを使用可能にする。
以下のトレースが問題の診断に役立ちます。- パーシスタンスを使用しない場合:
com.ibm.ws.session.*=all: com.ibm.ws.webcontainer.srt.*=all
- データベース・パーシスタンスを使用する場合:
com.ibm.ws.session.*=all: com.ibm.ws.webcontainer.srt.*=all: WAS.j2c=all: RRA=all: WAS.Database=all
- メモリー間パーシスタンスを使用する場合:
com.ibm.ws.session.*=all: com.ibm.ws.webcontainer.srt.*=all: com.ibm.ws.drs.*=all
- パーシスタンスを使用しない場合:
データベース・ベースのパーシスタント・セッションを使用する場合は、セッション・マネージャーがセッション状態に関する情報を保持するために 依存しているデータ・ソースに関連した問題を見つける。 データベースに関連した問題の診断についての詳細は、 データ・ソースまたは接続プールへのアクセス中のエラーを参照してください。
ポートの定義後に、エラー・メッセージ「SRVE0079E サーブレット・ホストが見つかりません」が表示される
- 管理コンソールで、「環境」>「仮想ホスト」>「default_host」> 「ホスト別名」>「新規」と移動します。
- ホスト "*" 上で新規ポートを定義します。
アプリケーション・サーバーが「EC3 - 04130007 ABEND」を取得する
アプリケーション・サーバー上で「EC3 - 04130007 abend」が発生しないようにするには、HTTP 出力タイムアウト値を変更します。カスタム・プロパティ ー ConnectionResponseTimeout で、 個々のサーバー用の HTTP ポートがデータの読み取りまたは書き込み時に待機できる最大時間 (秒) を指定します。 ConnectionResponseTimeout の設定方法については、トピック『HTTP トランスポート・チャネルのカスタム・プロパティー』を参照してください。
これらのステップで問題に対処できない場合は、使用可能なオンライン・サポート (ヒント、技術情報、および修正) を参照して、問題が特定され、文書化されているかどうかを確認します。 問題に該当する記述がこのサイトにない場合は、IBM サポートに連絡してください。
IBM サポートから入手可能な、既知の問題およびその解決法に関する最新の情報については、IBM サポート・ページを参照してください。
IBM サポートが提供する資料を利用すれば、この問題の解決に必要な情報を収集する時間を節約することができます。 PMR を開く前に、IBM サポート・ページを参照してください。