メモリー内基本セッション・プール・サイズ
メモリー内基本セッション・プール・サイズの数値は、セッション・サポートの構成に応じて変化します。
- メモリー内セッションの場合、セッション・アクセスは、 最大限この数のセッション数まで最適化されます。
- 分散セッションでは、セッションがデータベースに保存される場合や、または別の WebSphere® Application Server インスタンスに保存される場合、プール・サイズでは、キャッシュ・サイズと、手動更新モードで保存されている最後のアクセス時の更新の数も指定します。
分散セッションについては、 セッション・キャッシュが最大サイズに到達し、新規セッションが要求されると、 セッション管理機能はキャッシュから最長未使用時間セッションを除去し、 新規のセッションのために場所をあけます。
ハードウェア・システムの一般的メモリー所要量と、 e-business サイトの使用特性により、最適値が決まります。
メモリー内基本セッション・プール・サイズを増やすには、対応する WebSphere Application Servers 用の Java™ 処理のヒープ・サイズを増やす必要が出てくることに注意してください。
非分散セッションでのオーバーフロー
デフォルトでは、メモリーに保持されるセッションの数は、メモリー内基本セッション・プール・サイズによって指定されます。 メモリーに保持されるセッションの数に制限を設定せずにオーバーフローを許容する場合、 オーバーフローを true に設定してください。
無制限の量のセッションを許すと、システム・メモリーを使い尽くしてしまう可能性があり、 システムが働かなくなることにもなります。 サイトを頻繁にヒットしてセッションを作成するが、Cookies やエンコードされた URL は無視し、各 HTTP 要求が同じセッションを決して使用しない、 悪意のあるプログラムが作成されることも考えられます。
オーバーフローが許可されていないとき、メモリー限度に達してしまうと、 セッション管理機能は HttpServletRequest の getSession(true) メソッドでセッションを戻します。 このセッションは、保存されない無効なセッションになります。セッションを使用しようとすると、java.lang.IllegalStateException が発生します。.
WebSphere Application Server の HttpSession に対する拡張である com.ibm.websphere.servlet.session.IBMSession を使用すると、セッションがそのような無効セッションである場合に、isOverflow メソッドは true を戻します。 アプリケーションはこの状況を確認し、それぞれに応じた反応を戻します。