intra-mart Accel Platform 設定ファイルリファレンス 第23版 2019-08-01

キャッシュデフォルト設定

概要

キャッシュ機能に関するデフォルト値設定です。
この設定は、キャッシュ設定において、未指定の設定に対するデフォルト値の設定を行う為の設定です。
通常、この設定ファイルを編集する必要はありません、個別のキャッシュ設定の変更を行ってください。

モジュール サービス機構モジュール
フォーマットファイル(xsd) WEB-INF/schema/im-ehcache-default-config.xsd
設定場所 WEB-INF/conf/im-ehcache-default-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<im-ehcache-default-config
   xmlns="http://www.intra-mart.jp/cache/ehcache/default-config"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://www.intra-mart.jp/cache/ehcache/default-config ../schema/im-ehcache-default-config.xsd ">

   <default-cache
      enable="true"
      overflow-to-disk="false"
      max-elements-on-memory="1000"
      time-to-live-seconds="3600"
      time-to-idle-seconds="1800"
   />
   <mbeans>false</mbeans>

</im-ehcache-default-config>

リファレンス

デフォルト設定

タグ名 default-cache
キャッシュのデフォルト定義を行います。

【設定項目】

<default-cache
   enable="true"
   overflow-to-disk="false"
   max-elements-on-memory="1000"
   time-to-live-seconds="3600"
   time-to-idle-seconds="1800"
/>

必須項目 ×
複数設定 ×
単位・型 なし
親タグ im-ehcache-default-config

【属性】

属性名 説明 必須 デフォルト値
enable キャッシュの有効、無効を設定するフラグです。 × true
max-bytes-memory
メモリ上にオブジェクトを格納する際の最大サイズを指定します。 1k, 10M, 50G等の表記が可能です。
この属性とともに、max-elements-on-memory属性が設定された場合、この属性に設定された値は無効となり、max-elements-on-memory属性が有効な設定として扱われます。
× 0
max-elements-on-memory
メモリ上にキャッシュするオブジェクトの最大数を指定します。
この属性とともに、max-bytes-memory属性が指定された場合、max-bytes-memory属性に設定された値は無効な設定として扱われます。
× 0
overflow-to-disk メモリ上にキャッシュする領域の上限を超えた場合にディスクに書き出すか設定します。 × false
max-bytes-disk
ディスク上にオブジェクトを格納する際の最大サイズを指定します。 1k, 10M, 50G等の表記が可能です。
この属性とともに、max-elements-on-disk属性が設定された場合、この属性に設定された値は無効となり、max-elements-on-disk属性が有効な設定として扱われます。
× 0
max-elements-on-disk
ディスク上にキャッシュするオブジェクトの最大数を指定します。
この属性とともに、max-bytes-disk属性が指定された場合、max-bytes-disk属性に設定された値は無効な設定として扱われます。
× 0
time-to-idle-seconds アイドル時間(秒)を指定します。指定された時間対象となるオブジェクトが参照されなかった場合、そのオブジェクトは破棄されます。 × 0
time-to-live-seconds 生存期間(秒)を指定します。指定された生存期間を超えた場合そのオブジェクトは破棄されます。 × 0

MBeanの利用

タグ名 mbeans
CacheManagerをJMXの管理リソースとして登録するかどうかを設定します。

【設定項目】

<mbeans>false</mbeans>

必須項目 ×
複数設定 ×
設定値・設定する内容
false CacheManagerを管理リソースとして登録しません。
true CacheManagerを管理リソースとして登録します。
単位・型 真偽値 (true/false)
省略時のデフォルト値 false
親タグ im-ehcache-default-config

コラム

「max-bytes-memory」及び、「max-bytes-disk」属性が設定されている場合、Cacheにオブジェクトを登録する際に、そのオブジェクトのサイズの計算処理が行われます。
この際、登録するオブジェクトが、別のオブジェクトの参照を大量に持つ場合、計算処理に時間がかかりパフォーマンスの低下の原因となる可能性があります。
登録するオブジェクトが1000以上の参照を持つ場合、下記のようなメッセージがログに出力されます。
The configured limit of 1,000 object references was reached while attempting to calculate the size of the object graph.
Severe performance degradation could occur if the sizing operation continues.
This can be avoided by setting the CacheManger or Cache <sizeOfPolicy> elements maxDepthExceededBehavior to "abort" or adding stop points with @IgnoreSizeOf annotations.
If performance degradation is NOT an issue at the configured limit, raise the limit value using the CacheManager or Cache <sizeOfPolicy> elements maxDepth attribute.
For more information, see the Ehcache configuration documentation.
このログが出力される場合は、キャッシュに格納するオブジェクトの構成を見直すか、「max-bytes-memory」または、「max-bytes-disk」の代わりに、「max-elements-on-memory」または「max-elements-on-disk」の利用を検討して下さい。