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