7.2.2. アプリケーションにおける HttpSession パッシベーションの設定
概要
HttpSession パッシベーションはアプリケーションの WEB_INF/jboss-web.xml
ファイルまたは META_INF/jboss-web.xml
ファイルで設定されます。
例7.3 jboss-web.xml
ファイルの例
パッシベーション設定要素
<max-active-sessions>
- 許可されるアクティブセッションの最大数です。パッシベーションが有効になっている場合、セッションマネージャーによって管理されるセッション数がこの値を越えると、設定された
<passivation-min-idle-time>
を基に過剰なセッションがパッシベートされます。それでもアクティブセッションの数が制限を越える場合は、新しいセッションの作成に失敗します。デフォルト値は-1
で、アクティブセッションの最大数は制限されません。 <passivation-config>
- この要素は、子要素などの残りのパッシベーション設定パラメーターを保持します。
<passivation-config>
子要素
<use-session-passivation>
- セッションパッシベーションを使用するかどうか。デフォルト値は
false
です。 <passivation-min-idle-time>
- アクティブなセッションの数を減らし max-active-sessions によって定義された値に従うため、コンテナがパッシベーションの実行を考慮する前にセッションが非アクティブでなければならない最小期間。デフォルト値は
-1
で、<passivation-max-idle-time>
が経過する前のセッションのパッシベートを無効にします。<max-active-sessions>
が設定されている場合、-1 や大きな値は推奨されません。 <passivation-max-idle-time>
- メモリーを節約するため、コンテナがパッシベーションを実行しようとする前にセッションが非アクティブにならなければならない最大期間。アクティブセッションの数が
<max-active-sessions>
を越えるかどうかに関係なく、このようなセッションのパッシベーションは実行されます。この値はweb.xml
の<session-timeout>
設定よりも小さい値とする必要があります。デフォルト値は-1
で、非アクティブとなる最大期間を基にしたパッシベーションを無効にします。
注記
メモリーのセッション合計数にはこのノードでアクセスされていない他のクラスターノードからレプリケートされたセッションが含まれています。これを考慮して
<max-active-sessions>
を設定してください。また、他のノードからレプリケートされるセッションの数は、バディーレプリケーションが有効になっているかどうかによっても左右されます。
例えば、各ノードが 100 人のユーザーの要求に対応する 8 つのノードを持つクラスターについて考えてみましょう。完全なレプリケーションでは、各ノードはメモリーに 800 のセッションを保存します。バディーレプリケーションが有効になっていて、
numBuddies
にデフォルトの 1
が設定されている場合、各ノードはメモリーに 200 のセッションを保存します。