8.2.2. アプリケーションにおける HttpSession パッシベーションの設定
概要
HttpSession パッシベーションはアプリケーションの WEB_INF/jboss-web.xml
ファイルまたは META_INF/jboss-web.xml
ファイルで設定されます。
例8.3 jboss-web.xml
ファイルの例
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd"> <jboss-web version="6.0" xmlns="http://www.jboss.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss-web_6_0.xsd"> <max-active-sessions>20</max-active-sessions> <passivation-config> <use-session-passivation>true</use-session-passivation> <passivation-min-idle-time>60</passivation-min-idle-time> <passivation-max-idle-time>600</passivation-max-idle-time> </passivation-config> </jboss-web>
パッシベーション設定要素
<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>
を設定してください。また、他のノードからレプリケートされるセッションの数は、REPL
または DIST
キャッシュモードが有効であるかどうかによっても異なります。REPL
キャッシュモードでは、各セッションは各ノードにレプリケートされます。DIST
キャッシュモードでは、各セッションは、owner
パラメーターによって指定された数のノードにのみレプリケートされます。セッションキャッシュモードの設定については、「Web セッションキャッシュについて」および「Web セッションキャッシュの設定」を参照してください。
たとえば、各ノードが 100 人のユーザーからの要求を処理する 8 つのノードを持つクラスターについて考えてみましょう。
REPL
キャッシュモードでは、各ノードはメモリーに 800 のセッションを保存します。DIST
キャッシュモードが有効であり、デフォルトの owners
設定が 2
である場合、各ノードはメモリーに 200 のセッションを保存します。