Sun Java System Application Server 9.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 Java System Application Server 9.1 Developer’s Guide』「Using Session Beans」を参照してください。SFSB フェイルオーバーの有効化の詳細は、『Sun Java System Application Server 9.1 高可用性 (HA) 管理ガイド』「ステートフルセッション Bean のフェイルオーバー」を参照してください。

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

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