10.2.2. アプリケーションで HttpSession パッシベーションを設定する
概要
HttpSession パッシベーションは、アプリケーションの WEB-INF/jboss-web.xml
または META-INF/jboss-web.xml
ファイルで設定されます。
例10.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
は、最大非アクティブに基づくパッシベーションを無効にします。
REPL
とDIST
レプリケーションモード
メモリーのセッションの合計数には、このノードでアクセスされていない他のクラスターノードからレプリケートされたセッションが含まれます。これを考慮して
<max-active-sessions>
を設定してください。他のノードから複製されるセッションの数は、REPL
またDIST
キャッシュモードが有効になっています。REPL
キャッシュモードでは、各セッションは各ノードにレプリケートされます。のDIST
キャッシュモードの場合、各セッションは、で指定された数のノードにのみ複製されます。owners
パラメーター。見る「Web セッションキャッシュについて」と「Web セッションキャッシュを設定する」セッションキャッシュモードの設定についての情報。
たとえば、各ノードが 100 ユーザーからの要求を処理する 8 つのノードクラスターがあるとします。この場合、
REPL
キャッシュモードでは、各ノードのメモリーに 800 のセッションが格納されます。とDIST
キャッシュモードが有効で、デフォルトowners
2
に設定すると、各ノードは 200 セッションをメモリーに保存します。