個別の Web アプリケーションの可用性を有効にする、または可用性設定をオーバーライドするには、sun-web.xml
ファイルの設定を使用します。詳細については、『Developer's Guide』を参照してください。
管理コンソールを使用して、Web コンテナの可用性を有効または無効にするには、次の手順に従います。
memory
(持続性なし) file
(ファイルシステム)、および ha
(HADB) です。可用性が有効の場合、デフォルトは ha
です。可用性が無効の場合、デフォルトは memory
です。セッションの持続性が必要となる本稼動環境では、ha
を使用します。
持続性のタイプを memory
に設定すると、サーバーインスタンスが正常にシャットダウンする場合に、sessionFilename
プロパティを使用して HTTP セッション状態が格納されるファイルシステムの場所を指定できます。このオプションは内部テストには役立ちますが、本稼働環境ではサポートされません。
持続性のタイプを file
に設定すると、ディレクトリのプロパティを使用して HTTP セッション状態が格納されるファイルシステムの場所を指定できます。ファイルシステムに対する持続性は内部テストには役立ちますが、本稼働環境ではサポートされません。
ha
の場合にのみ適用できます。使用できる値は次のとおりです。web-method
- セッション状態は、各 Web 要求の終了時に、クライアントに応答を返信する前に格納されます。このモードでは、障害発生時にセッション状態を完全に更新するための最良の保証が得られます。デフォルトです。time-based
- セッション状態が、reapIntervalSeconds
プロパティによって設定された頻度でバックグラウンドに格納されます。このモードでは、セッション状態が必ずしも完全に更新される保証は得られません。ただし、各要求後に状態が格納されないので、パフォーマンスが大幅に向上します。プロパティの設定については、手順 2 を参照してください。ha
の場合にのみ適用できます。使用できる値は次のとおりです。session
- 常にすべてのセッション状態が格納されます。このモードでは、セッションデータを分散可能な Web アプリケーションに正しく格納するための最良の保証が得られます。デフォルトです。modified-session
- セッション状態が変更された場合、すべてのセッション状態が格納されます。HttpSession.setAttribute()
または HttpSession.removeAttribute()
が呼び出された場合に、セッションが変更されたと見なします。属性が変更されるたびに、必ず setAttribute()
を呼び出す必要があります。これは J2EE 仕様の要件ではありませんが、このモードを正しく動作させるために必要になります。modified-attribute
- 変更されたセッション属性だけが格納されます。このモードを正しく動作させるには、次のガイドラインに従う必要があります。
セッション状態を変更するたびに setAttribute()
を呼び出します。
属性間で相互参照しないようにします。別個の各属性キーにあるオブジェクトグラフを直列化し、別々に格納します。別個の各キーにあるオブジェクト間に相互参照がある場合は、正常な直列化および非直列化は行われません。
複数の属性間、または少なくとも読み取り専用属性と変更可能な属性間でセッション状態を分散します。
configure-ha-cluster
の説明を参照してください。