セッションストア設定¶
項目
概要¶
セッション管理モジュールに関する設定です。
モジュール セッション管理モジュール フォーマットファイル(xsd) WEB-INF/schema/session-store-config.xsd 設定場所 WEB-INF/conf/session-store-config.xml <?xml version="1.0" encoding="UTF-8"?> <session-store-config xmlns="http://intra-mart.co.jp/session-store/session-store-config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://intra-mart.co.jp/session-store/session-store-config ../schema/session-store-config.xsd"> <reaper-interval>300</reaper-interval> <forced-removal-duration>10800</forced-removal-duration> <session-config> <session-timeout>30</session-timeout> <session-versioning>true</session-versioning> <cookie-config> <name>JSESSIONID</name> <domain> <name>localhost</name> </domain> <path>/imart</path> <max-age>-1</max-age> <http-only>true</http-only> <secure>true</secure> </cookie-config> </session-config> </session-store-config>
リファレンス¶
セッションリーパ実行間隔(秒)¶
タグ名 reaper-interval セッションリーパの実行間隔を設定します。【設定項目】
<session-store-config> <reaper-interval>300</reaper-interval> </session-store-config>
必須項目 × 複数設定 × 設定値・設定する内容 セッションリーパの実行間隔を指定します。 単位・型 秒 省略時のデフォルト値 300 親タグ session-store-config コラム
- セッションリーパについて
セッションは、時間の経過によって期限切れが発生します。セッションリーパは、時間の経過によって期限切れとなったセッションを破棄するための機能です。セッション管理モジュールでは、基本的に管理しているセッションをメモリ上に保持しているため、 セッションリーパにより破棄されることでメモリの使用量を抑えることができます。注意
セッションタイムアウト間隔を長くした場合、セッションが期限切れとなる頻度が減ることが予想されます。 期限切れのセッションが存在しないのであれば、セッションリーパが実行される必要はありません。 よって、セッションタイムアウト間隔を長くする場合には、セッションリーパ実行間隔もあわせて長くすることを検討してください。セッションタイムアウト間隔を短くした場合、セッションが期限切れとなる頻度が増えることが予想されます。 しかし、セッションリーパの実行間隔を極端に短くすることは避けてください。 セッションリーパの実行間隔を短くすることで、期限切れのセッションを迅速に破棄することができますが、 処理量やネットワークトラフィックの増加につながります。
強制削除間隔(秒)¶
タグ名 forced-removal-duration 不要なセッションとして扱う期限を設定します。【設定項目】
<session-store-config> <forced-removal-duration>10800</forced-removal-duration> </session-store-config>
必須項目 × 複数設定 × 設定値・設定する内容 不要なセッションとして扱う期限を設定します。単位・型 秒 省略時のデフォルト値 10800 親タグ session-store-config コラム
- 不要なセッションについて
セッションが最後に使われてからこの期限を超えてセッションが利用されなかった場合に、そのセッションは不要なセッションとして扱われます。不要なセッションは、期限切れのセッションとして扱われないため、タイムアウトに関連するイベントが実行されずに強制的に削除されます。
セッション設定¶
タグ名 session-config セッションに関する情報を設定します。【設定項目】
<session-store-config> <session-config> ... </session-config> </session-store-config>
必須項目 × 複数設定 × 設定値・設定する内容
session-timeout セッションタイムアウト間隔を設定します。 session-versioning セッションバージョニングの有効/無効を設定します。 cookie-config Cookieに関する情報を設定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ session-store-config
セッションタイムアウト間隔(分)¶
タグ名 session-timeout セッションタイムアウト間隔を設定します。【設定項目】
<session-config> <session-timeout>30</session-timeout> </session-config>
必須項目 × 複数設定 × 設定値・設定する内容 セッションタイムアウト間隔を指定します。 単位・型 分 省略時のデフォルト値 30 親タグ session-config
セッションバージョニング¶
タグ名 session-versioning セッションバージョニングを有効するかどうか設定します。【設定項目】
<session-config> <session-versioning>true</session-versioning> </session-config>
必須項目 × 複数設定 × 設定値・設定する内容 セッションバージョニングを有効するかどうか設定します。 単位・型 真偽値 (true/false) 省略時のデフォルト値 true 親タグ session-config コラム
- セッションバージョニングについて
セッション管理モジュールにおいて、セッションは以下で管理されています。
- アプリケーションサーバ内のメモリ
- クラスタ間の分散キャッシュ
- 永続化先
クラスタ間の分散キャッシュからセッションを読み込む場合には、クラスタ間通信が発生する可能性があります。 永続化先からセッションを読み込む場合には、永続化先との通信が発生します。セッションバージョニングを有効にすると、それぞれが管理するセッションがバージョニングされます。 このバージョンはCookieにも書き込まれ、リクエストの都度、Cookieのバージョン情報からクラスタ間の分散キャッシュや永続化先からセッションを読み込む必要があるかどうかの判断に利用されます。セッション管理モジュールでは、このセッションバージョニングによる判断によって、クラスタ間の分散キャッシュや永続化先への問い合わせ回数を減らすことができます。
セッションCookie設定¶
タグ名 cookie-config セッションのCookieに関する情報を設定します。【設定項目】
<session-config> <cookie-config> ... </cookie-config> </session-config>
必須項目 × 複数設定 × 設定値・設定する内容
name セッションIDのCookie名を設定します。 domain セッション関連のCookieのdomain属性を設定します。 path セッション関連のCookieのpath属性を設定します。 max-age セッション関連のCookieのmax-age属性を設定します。 http-only セッション関連のCookieのhttponly属性を設定します。 secure セッション関連のCookieのsecure属性を設定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ session-config
Cookie名¶
タグ名 name セッションIDのCookie名を設定します。【設定項目】
<cookie-config> <name>JSESSIONID</name> </cookie-config>
必須項目 × 複数設定 × 設定値・設定する内容 セッションIDのCookie名を設定します。 単位・型 なし 省略時のデフォルト値 JSESSIONID 親タグ cookie-config
Cookieのdomain設定¶
タグ名 domain セッション関連のCookieのdomain属性に関する情報を設定します。【設定項目】
<cookie-config> <domain> ... </domain> </cookie-config>
必須項目 × 複数設定 × 設定値・設定する内容
name セッション関連のCookieのdomain属性を設定します。 name-pattern セッション関連のCookieのdomain属性の正規表現を設定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ cookie-config
Cookieのdomain属性¶
タグ名 name セッション関連のCookieのdomain属性を設定します。【設定項目】
<domain> <name>localhost</name> </domain>
必須項目 × 複数設定 × 設定値・設定する内容 セッション関連のCookieのdomainを設定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ domain
Cookieのdomainの正規表現¶
タグ名 name-pattern セッション関連のCookieのdomainを正規表現で設定します。【設定項目】
<domain> <name-pattern>^.+?\\.(\\w+\\.[a-z]+)$</name-pattern> </domain>
必須項目 × 複数設定 × 設定値・設定する内容 セッション関連のCookieのdomainを正規表現で設定します。 単位・型 なし 省略時のデフォルト値 なし 親タグ domain
Cookieのpath属性¶
タグ名 path セッション関連のCookieのpath属性を設定します。【設定項目】
<cookie-config> <path>/imart</path> </cookie-config>
必須項目 × 複数設定 × 設定値・設定する内容 セッション関連のCookieのpath属性を設定します。 単位・型 なし 省略時のデフォルト値 コンテキストパスが設定されます。 親タグ cookie-config
max-age属性¶
タグ名 max-age セッション関連のCookieのmax-age属性を設定します。【設定項目】
<cookie-config> <max-age>0</max-age> </cookie-config>
必須項目 × 複数設定 × 設定値・設定する内容 セッション関連のCookieのmax-age属性を設定します。 単位・型 なし 省略時のデフォルト値 -1 親タグ cookie-config
httponly属性¶
タグ名 http-only セッション関連のCookieのhttponly属性を設定します。【設定項目】
<cookie-config> <http-only>true</http-only> </cookie-config>
必須項目 × 複数設定 × 設定値・設定する内容 セッション関連のCookieのhttponly属性を設定します。 単位・型 真偽値 (true/false) 省略時のデフォルト値 true 親タグ cookie-config