WebアプリケーションやJ2EEサーバを停止した場合,またはJ2EEサーバが障害でプロセスダウンした場合,J2EEサーバ上のHTTPセッションは破棄されます。Webアプリケーションを再開始する際に,グローバルセッション情報を引き継ぐ機能をWebアプリケーション開始時のグローバルセッション情報の引き継ぎといいます。
J2EEサーバが障害でダウンしたあと,Webアプリケーションを再開始する際の,グローバルセッション情報の引き継ぎ処理の流れを次に示します。
なお,次の表に示す条件の場合,グローバルセッション情報は引き継がれません。
表5-11 グローバルセッション情報が引き継がれない場合の条件と動作
項番 | 条件 | 動作 |
---|---|---|
1 | ネットワーク障害などの理由でデータベースまたはEADsサーバから引き継ぐグローバルセッション情報のセッションIDのリストを取得できなかった場合。 | KDJE34345-WまたはKDJE34431-W※のメッセージがメッセージログに出力され,グローバルセッション情報の引き継ぎ処理が終了します。 |
2 | 引き継ぐグローバルセッション情報が,すでにJ2EEサーバ上に存在する場合(リクエストの受信でJ2EEサーバ上にすでに引き継がれている)。 | KDJE34347-IまたはKDJE34432-Iのメッセージがメッセージログに出力され,グローバルセッション情報の引き継ぎ処理がスキップされます。 |
3 | 引き継ぐグローバルセッション情報が,データベースセッションフェイルオーバ機能で,すでに冗長化された別のJ2EEサーバに引き継がれている場合。 | KDJE34348-Iのメッセージがメッセージログに出力され,グローバルセッション情報の引き継ぎ処理はスキップされます。 |
4 | ネットワーク障害などの理由でデータベースまたはEADsサーバからグローバルセッション情報を取得できなかった場合。 | KDJE34346-WまたはKDJE34434-W※のメッセージがメッセージログに出力され,グローバルセッション情報の引き継ぎ処理がスキップされます。 |
5 | J2EEサーバ上のHTTPセッション数が,HttpSessionオブジェクト数の上限値の指定機能で設定した上限値に達したために引き継げなかった場合。 | KDJE34370-WまたはKDJE34435-W※のメッセージがメッセージログに出力され,グローバルセッション情報の引き継ぎ処理がスキップされます。 |
6 | グローバルセッション情報のデシリアライズに失敗した場合。 | KDJE34328-EまたはKDJE34436-Eのメッセージがメッセージログに出力され,グローバルセッション情報を引き継がないで,データベースまたはEADsサーバから削除されます。 |
7 | データベースセッションフェイルオーバ機能を使用していて,HttpSessionのサーバID付加機能で設定したサーバIDを変更した場合。 | KDJE34348-Iのメッセージがメッセージログに出力され,グローバルセッション情報の引き継ぎ処理がスキップされます。 |
注※ このメッセージが出力された場合,障害の原因を取り除いて再度Webアプリケーションを開始するか,リクエストを受信して引き継がれるまで,EADsサーバ上のセッション情報キャッシュにグローバルセッション情報が残り続けます。残り続けたグローバルセッション情報の削除の手順については,「7.8.1 EADsサーバ上のグローバルセッション情報の削除(セッション情報の格納先サーバ)」を参照してください。