intra-mart Accel Platform 設定ファイルリファレンス 第34版 2024-04-01

セッションストア設定

概要

セッション管理モジュールに関する設定です。
モジュール セッション管理モジュール
フォーマットファイル(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

secure属性

タグ名 secure
セッション関連のCookieのsecure属性を設定します。

【設定項目】

<cookie-config>
  <secure>true</secure>
</cookie-config>

必須項目 ×
複数設定 ×
設定値・設定する内容 セッション関連のCookieのsecure属性を設定します。
単位・型 真偽値 (true/false)
省略時のデフォルト値 false
親タグ cookie-config