Sun GlassFish Enterprise Server 2.1 配備計画ガイド

セッション持続性

Java EE アプリケーションは一般に、大量のセッション状態データを保持しています。Web ショッピングカートは、セッション状態の古典的な例です。アプリケーションはまた、頻繁に必要になるデータをセッションオブジェクトにキャッシュすることもできます。実際、ユーザーとの対話が多いほぼすべてのアプリケーションには、セッション状態の保持が必要になります。HTTP セッションとステートフルセッション Bean (SFSB) の両方がセッション状態データを持ちます。

セッション状態はデータベースに格納されたトランザクション状態ほど重要ではありませんが、サーバー障害のセッション状態を保存することは、エンドユーザーにとって重要になる場合があります。Application Server には、このセッション状態をリポジトリに保存 (保持) する機能が用意されています。ユーザーセッションをホストするアプリケーションサーバーインスタンスで障害が発生した場合、そのセッション状態の復元が可能です。情報を失うことなくそのセッションを継続できます。

Application Server は、次のタイプのセッション持続性ストアをサポートします。

メモリーを使用した持続性では、状態は常にメモリー内に保持され、障害が発生すると情報は失われます。HA 形式の持続性では、Application Server は HTTP セッションと SFSB セッションの両方で HADB を持続性ストアとして使用します。ファイルを使用した持続性では、Application Server はセッションオブジェクトを直列化し、それらのオブジェクトを、セッションマネージャーのプロパティーで指定されたファイルシステム上の位置に格納します。SFSB に関しては、HA 形式の持続性を指定しない場合、Application Server はこの位置の session-store サブディレクトリに状態情報を格納します。

保存が必要な変更がないかどうか、SFSB の状態をチェックする処理のことを「チェックポイント設定」と呼びます。チェックポイント設定を有効にした場合、この処理は通常、トランザクションがロールバックした場合を含め、SFSB が関係するすべてのトランザクションの完了後に発生します。ステートフルセッション Bean の開発の詳細は、『Sun GlassFish Enterprise Server 2.1 Developer’s Guide』「Using Session Beans」を参照してください。SFSB フェイルオーバーの有効化の詳細は、『Sun GlassFish Enterprise Server 2.1 高可用性 (HA) 管理ガイド』「ステートフルセッション Bean のフェイルオーバー」を参照してください。

Application Server がサービスを提供している要求の数とは別に、セッション持続性の設定は、各要求内のセッション情報だけでなく、HADB が 1 分あたりに受信する要求の数にも影響します。

セッション持続性の設定の詳細は、『Sun GlassFish Enterprise Server 2.1 高可用性 (HA) 管理ガイド』の第 7 章「高可用性 (HA) セッション持続性とフェイルオーバーの設定」を参照してください。