1.19. インメモリデータグリッド連携

インメモリデータグリッド連携に関する設定について説明します。


1.19.1. インメモリデータグリッド連携全般の設定項目・設定方法

インメモリデータグリッド連携の設定項目については全てMO化されています。項目の設定方法については「1.1. 各サービスの属性」を参照してください。


1.19.1.1. インメモリデータグリッド設定

ドメイン共通の設定です。この設定を変更した場合、ドメインを再起動することにより反映されます。

Dottedname : server.data-grids

表1.19.1.1-0
属性名
(attribute-name)
説明 既定値
Jgroupsファイル名(Infinispan)
[infinispan-jgroups-file]
このドメインで使用する、${INSTANCE_ROOT}/config/datagrid/infinispanディレクトリにあるInfinispanの設定ファイルを指定します。 webotx-jgroups-udp.xml
クラスタ名(Infinispan)
[infinispan-cluster-name]
このドメインで使用する、Infinispanのクラスタ名を指定します。 webotx-infinispan-cluster1
クラスタ設定ファイル名(Coherence)
[coherence-cluster-file]
このドメインで使用する、${INSTANCE_ROOT}/config/datagrid/coherenceディレクトリにあるCoherenceの設定ファイルを指定します。 webotx-coherence-cluster1.xml

1.19.1.2. インメモリデータグリッド個別設定

データグリッドごとの設定です。

Dottedname : server.data-grids.data-grid.name

nameはデータグリッド名が設定されます。

一般タブ
表1.19.1.2-0
属性名
(attribute-name)
説明 既定値
名前
[name]
DataGridの名前です。セッションレプリケーションや永続化サービスのdata-grid-nameとしてこの名前を指定します。 なし
タイプ
[type]
DataGridのタイプを指定します。指定できる値は以下です。
- disabled
- infinispan
- coherence
disabled以外の値に設定する場合、それぞれの連携に必要なライブラリを配置していないとエラーになります。配置については [ 3. 提供機能 > 3.6.9. インメモリデータグリッド連携 > 3.6.9.1. 事前準備 ] を参照してください。
disabled
アーキタイプ
[archetype]
DataGridのアーキタイプを指定します。指定できる値は以下です。
- standard(標準)
- high-performance(性能重視)
- high-available(可用性重視)
この属性を変更すると、他の属性も連動して変更されます。「アーキタイプによる既定値の変更」を参照してください。
standard
Infinispanタブ

Infinispan用の設定です。タイプがinfinispanの場合のみ有効です。

表1.19.1.2-1
属性名
(attribute-name)
説明 既定値
キャッシュモード(Infinispan)
[infinispan-cache-mode]
キャッシュモードを指定します。指定できる値は以下です。
- DIST_SYNC(分散同期モード)
- DIST_ASYNC(分散非同期モード)
- REPL_SYNC(複製同期モード)
- REPL_ASYNC(複製非同期モード)
DIST_SYNC
非同期マーシャリング(Infinispan)
[infinispan-async-marshalling]
キャッシュモードがDIST_ASYNCまたはREPL_ASYNCの場合のみ有効です。非同期マーシャリングを使用するかどうかを指定します。使用する場合、呼び出しはすぐにリターンされますが、命令のリオーダーが行なわれる場合があります。 false
非同期キューの使用(Infinispan)
[infinispan-async-use-repl-queue]
キャッシュモードがDIST_ASYNCまたはREPL_ASYNCの場合のみ有効です。trueの場合、全ての非同期通信はレプリケーションキューに登録するように強制し、定期的にバッチ処理で送出されます。 false
非同期キューの動作頻度(Infinispan)
[infinispan-async-repl-queue-interval]
キャッシュモードがDIST_ASYNCまたはREPL_ASYNCで非同期キューの使用がtrueの場合のみ有効です。レプリケーションキューをフラッシュするスレッドの動作頻度をミリ秒で指定します。 5000
非同期キューの最大要素数(Infinispan)
[infinispan-async-repl-queue-max-elements]
キャッシュモードがDIST_ASYNCまたはREPL_ASYNCで非同期キューの使用がtrueの場合のみ有効です。要素数がこの値に達したことを契機としてレプリケーションキューをフラッシュします。 1000
同期タイムアウト(Infinispan)
[infinispan-sync-repl-timeout]
キャッシュモードがDIST_SYNCまたはREPL_SYNCの場合のみ有効です。リモート呼び出しの応答が返るまでの最大待ち時間を指定します(ミリ秒) 。待ち時間に達すると呼び出しは中止され、例外が発生します。 15000
起動時データフェッチ(Infinispan)
[infinispan-state-transfer-fetch-in-memory-state]
trueの場合、キャッシュ起動時に近隣のキャッシュからデータをフェッチします。キャッシュはウォームアップ状態で起動しますが、起動性能が低下します。
分散モードではこのときにキーの所有者の変更も行われるため、これがfalseの場合はキーの所有者がキャッシュエントリごとの複製数より少なくなる可能性があります。
true
起動時待ち合わせ(Infinispan)
[infinispan-state-transfer-await-initial-transfer]
trueの場合、最初にキャッシュの取得が行なわれる時、近隣のキャッシュから状態を取得できるまでブロックされます。 true
状態転送チャンクサイズ(Infinispan)
[infinispan-state-transfer-chunk-size]
一度にステート転送するエントリ数を指定します。0以下にすると全てのエントリを一度に転送しますが、非推奨です。 10000
状態転送タイムアウト(Infinispan)
[infinispan-state-transfer-timeout]
近隣キャッシュからステートを受け取る際の最大待ち時間を指定します(ミリ秒)。 240000
L1キャッシュの有効化(Infinispan)
[infinispan-l1-enabled]
trueの時、L1キャッシュを使用します。
キャッシュモードがDIST_SYNCまたはDIST_ASYNCの場合有効です。
false
L1キャッシュ無効化閾値(Infinispan)
[infinispan-l1-invalidation-threshold]
L1キャッシュを無効化する時にマルチキャストを用いるかユニキャストを用いるかの閾値を指定します。
-1が指定されたとき、ユニキャストのみが用いられます。0が指定されたとき、マルチキャストのみが用いられます。
L1キャッシュ使用時のみ有効です。
0
L1キャッシュ最大存在期間(Infinispan)
[infinispan-l1-lifespan]
L1キャッシュのあるエントリの最大存在期間を指定します(ミリ秒)。
L1キャッシュ使用時のみ有効です。
60000
L1キャッシュクリンアップ頻度(Infinispan)
[infinispan-l1-cleanup-task-frequency]
L1キャッシュの古くなったエントリのクリンアップ頻度を指定します(ミリ秒)。
L1キャッシュ使用時のみ有効です。
60000
リハッシュ時のL1キャッシュへの移動(Infinispan)
[infinispan-l1-on-rehash]
trueの場合、リハッシュで削除されるエントリは代わりにL1キャッシュに移動されます。
L1キャッシュ使用時のみ有効です。
true
キャッシュエントリ毎の複製数(Infinispan)
[infinispan-hash-num-owners]
キャッシュエントリごとのクラスタ中の複製数(1以上)を指定します。
キャッシュモードがDIST_SYNCまたはDIST_ASYNCの場合有効です。
2
ハッシュ空間セグメント数(Infinispan)
[infinispan-hash-num-segments]
ハッシュ空間のセグメント数を指定します。1以上の値を指定します。 60
デッドロック検出有効化(Infinispan)
[infinispan-dead-lock-detection-enabled]
trueの場合、デッドロック検出機能を有効にします。 false
デッドロック検出頻度(Infinispan)
[infinispan-dead-lock-detection-spin-duration]
デッドロック検出機能が有効な場合のみ有効です。デッドロック検出を行なう頻度を指定します(ミリ秒)。 100
エビクション機能アルゴリズム(Infinispan)
[infinispan-eviction-strategy]
エビクション(エントリ数が閾値を越えた時削除する)機能で使うアルゴリズムを指定します。NONEの場合、エビクション機能が無効になります。
有効な値は、NONE,UNORDERED,LRU,LIRS
NONE
エビクション機能スレッドポリシー(Infinispan)
[infinispan-eviction-thread-policy]
エビクション機能のスレッドポリシーを指定します。
DEFAULT,PIGGYBACK
DEFAULT
エビクション機能最大エントリ数(Infinispan)
[infinispan-eviction-max-entries]
エビクション機能のための最大エントリ数を指定します。エントリ数がこれを超えた時、エビクションが行なわれます。-1の時はエビクションが行なわれません。 -1
最大存在期間(Infinispan)
[infinispan-expiration-lifespan]
キャッシュエントリの最大存在期間を指定します(ミリ秒)。これを超えたエントリは期限切れで破棄されます。-1の場合、期限切れ破棄が行なわれません。 -1
最大アイドル期間(Infinispan)
[infinispan-expiration-max-idle]
キャッシュエントリの最大アイドル期間を指定します(ミリ秒)。この期間を超えてアクセスされないエントリは期限切れで破棄されます。-1の場合、期限切れ破棄が行なわれません。 -1
期限切れエントリ刈り取りスレッドの有効化(Infinispan)
[infinispan-expiration-enable-reaper]
trueの場合、エントリの期限切れ判定スレッドが動作します。この設定に関わらず、エントリにアクセスする際に期限切れ判定が行われます。 true
期限切れエントリ判定頻度(Infinispan)
[infinispan-expiration-wake-up-interval]
期限切れ判定の頻度を指定します(ミリ秒)。-1の場合、定期的な期限切れ判定が行なわれなくなります。 60000
ロックコンカレンシーレベル(Infinispan)
[infinispan-locking-concurrency-level]
ロックコンテナの並列度を指定します。 32
ロック隔離レベル(Infinispan)
[infinispan-locking-isolation-level]
キャッシュのロック隔離レベルを指定します。有効な値はREPEATABLE_READ,READ_COMMITTED READ_COMMITTED
ロック取得タイムアウト(Infinispan)
[infinispan-locking-lock-acquisition-timeout]
特定のロックを取得するための最大待ち時間を指定します(ミリ秒) 10000
ストライピングロックの使用(Infinispan)
[infinispan-locking-use-lock-striping]
trueの場合、ロックが必要な全てのエントリのための共有ロックプールが管理されます。そうでなければ、キャッシュ中のエントリ毎にロックが作成されます。ロックストライプを有効にすると、メモリ使用量が下がりますが、システムの並列度が低下する場合があります。 false
Coherenceタブ

Coherence用の設定です。タイプがcoherenceの場合のみ有効です。

表1.19.1.2-2
属性名
(attribute-name)
説明 既定値
スキーム(Coherence)
[coherence-scheme]
分散スキームか複製スキームかオプティミスティックスキームを指定します。有効な値は以下です。
- distributed
- replicated
- optimistic
distributed
分散キャッシュバックアップ更新のデルタ送信(Coherence)
[coherence-compressor]
分散スキームの場合のみ有効です。バックアップ更新をデルタ形式で圧縮するか、全体を送信するかを指定します。デルタ更新は、バックアップ・エントリの一部を表しており、プライマリ・エントリと同期させるには変更が必要です。有効な値は以下です。
- none
- standard
none
分散キャッシュサービススレッド数(Coherence)
[coherence-thread-count]
分散スキームの場合のみ有効です。分散キャッシュ・サービスで使用されるデーモン・スレッドの数を指定します。0の場合、関連するタスクはすべて、サービス・スレッドで実行されます。有効な値は、正の整数または0です。 0
リース所有権粒度(Coherence)
[coherence-lease-granularity]
リース所有権の精度を指定します。有効な値は以下です。
- thread
- member
値がthreadの場合、ロックはそのロックを取得したスレッドによって保持され、そのスレッドによってのみ解放されます。値がmember の場合、ロックはクラスタ・ノードによって保持され、ロックを取得したクラスタ・ノード上で実行されるスレッドによって解放できます。
thread
分散キャッシュローカルストレージ(Coherence)
[coherence-local-storage]
分散スキームの場合のみ有効です。クラスタ・ノードをクラスタの記憶域として機能させる(つまり、パーティションを保持する)かどうかを指定します。falseの場合、そのノードはキャッシュ・クライアントと見なされます。 true
分散キャッシュパーティション数(Coherence)
[coherence-partition-count]
分散スキームの場合のみ有効です。キャッシュを分割するパーティションの数を指定します。パーティション・キャッシュ・サービスを実行し、分散キャッシュローカルストレージ属性がtrueに設定されたメンバーのそれぞれが、公平な(偏りのない)数のパーティションを管理します。パーティションの数は素数とし、いずれのパーティションも50MBを超えることのないように十分なパーティション数を指定する必要があります。 257
分散キャッシュ転送閾値(Coherence)
[coherence-transfer-threshold]
分散スキームの場合のみ有効です。プライマリ・バケット分散のしきい値をキロバイト単位で指定します。分散キャッシュ・サービスに新しいノードが結合する場合、またはサービスのメンバーのいずれかの結合が解除される場合、残りのノードによって、バケット所有権の再分散タスクが実行されます。このプロセスでは、所有権情報とともに既存のデータの均衡化が再実行されます。このパラメータでは、データ転送通信で優先されるメッセージ・サイズを示します。この値を低く設定すると、分散プロセスの所要時間は長くなるが、このアクティビティ実行中のネットワーク帯域幅の使用量は軽減されます。 512
分散キャッシュバックアップ数(Coherence)
[coherence-backup-count]
分散スキームの場合のみ有効です。各保存単位のバックアップ・データをキャッシュに保持するメンバーの数を指定します。この値が0になっていると、異常終了した場合にキャッシュ内のデータ の一部が失われます。この値がNになっていると、即座に終了したクラスタ・ノードの数がN以内の場合、キャッシュ・データが保持されます。サイズMの分散 キャッシュを維持する場合、クラスタ内の合計メモリ使用量はクラスタ・ノードの数に依存するのではなく、M*(N+1)となります。推奨値は、0、1または2。 1
分散キャッシュタスクハング閾値(Coherence)
[coherence-task-hung-threshold]
分散スキームの場合のみ有効です。タスクが実行できる時間を指定します(ミリ秒)。この時間を超過すると、ハングしたと見なされます。有効な値は、正の整数または0です。(0の場合は、デフォルト・タイムアウトがないことを示す)。分散キャッシュサービススレッド数が1以上の場合のみ有効です。 0
分散キャッシュタイムアウト(Coherence)
[coherence-task-timeout]
分散スキームの場合のみ有効です。タイムアウト可能なタスクのデフォルトのタイムアウト値をミリ秒単位で指定します。ただし、タスク実行のタイムアウト値は明示的に指定しません。タスク実行時間はサーバー側で測定され、開始されるまでサービス・バックログ・キューで待機するための所要時間は含まれません。この属性は、スレッド・プールが使用されている(分散キャッシュサービススレッド数が正)場合にのみ適用されます。有効な値は、正の整数または0です(0の場合は、デフォルト・タイムアウトがないことを示します)。 0
リクエストタイムアウト(Coherence)
[coherence-request-timeout]
レスポンスがくるまでクライアントが待機する最大時間を指定します(ミリ秒)。この時間を超過すると、元のリクエストが破棄されます。リクエスト時間はクライアント側で測定されるもので、対応するサーバー・ノードに対して実行のためのリクエストが送信されてからの経過時間に次の時間を加えたものです。
- 実行側のノード(サーバー)にリクエストを配信するための所要時間
- タスクが受信されてサービス・キューに入れられてから実行が開始されるまでの間隔
- タスクの実行時間
- クライアントに結果を返信するための所要時間
有効な値は、正の整数または0です(0の場合は、デフォルト・タイムアウトがないことを示します)。
0
ガーディアンタイムアウト(Coherence)
[coherence-guardian-timeout]
サービスおよび依存するスレッドをガードするために使用するガーディアンのタイムアウト値を指定します(ミリ秒)。 305000
サービス失敗ポリシ(Coherence)
[coherence-service-failure-policy]
動作が異常なサービス・スレッドをサービス・ガーディアンが正常に終了できないときに実行するアクションを指定します。有効な値は以下の通りです。
- exit-cluster: 応答しないように見えるスレッドをリカバリしようとします。試行に失敗した場合は、関連付けられたサービスの停止が試行されます。関連付けられたサービスを停止できない場合、このポリシーによって、ローカル・ノードでクラスタ・サービスが停止します。
- exit-process: 応答しないように見えるスレッドをリカバリしようとします。試行に失敗した場合は、関連付けられたサービスの停止が試行されます。関連付けられたサービスを停止できない場合、このポリシーによって、ローカル・ノードでJVMが終了します。
- logging: 検出された問題をログに記録するが、修正処置は実行されません。
exit-cluster
複製キャッシュ標準リース期間(Coherence)
[coherence-standard-lease-milliseconds]
複製スキームの場合のみ有効です。標準的なリースの継続時間を指定します(ミリ秒)。リースがこのミリ秒数を超過すると、ロックは自動的に解放されます。期限切れが発生しないリースを指定するには、この値を0に設定します。この設定の目的は、スタック・スレッドを原因とするデッドロックまたはブロックが発生しないようにすることです。最長の予想ロック継続時間より高い(たとえば、トランザクション・タイムアウトより高い)値を設定する必要があります。 305000
バッキングマップのパーティション化(Coherence)
[coherence-backing-map-partitioned]
バッキング・マップがPartitionAwareBackingMapかどうかを指定します(この要素は、分散スキームの中でのみ考慮されます)。trueに設定した場合、バッキング・マップとして指定されているスキームは、PartitionAwareBackingMapの個々のパーティションのバッキング・マップの構成に使用されます。それ以外の場合は、バッキング・マップ全体に対して使用されます。 false
バッキングマップのエビクションポリシー(Coherence)
[coherence-backing-map-eviction-policy]
バッキングマップで使用するエビクション・ポリシーのタイプを指定します。有効な値は次のとおりです。
- LRU: 最低使用頻度(Least Recently Used)によるエビクション・ポリシーでは、最後にアクセスされた時間を基準として削除対象エントリが選択されます。アクセスされていない期間が最も長いエントリから順番に削除されます。
- LFU: 最低アクセス頻度(Least Frequently Used)によるエビクション・ポリシーでは、アクセス頻度を基準として削除対象エントリが選択されます。アクセス頻度が最も低いエントリから順番に削除されます。
- HYBRID(デフォルト): ハイブリッド・エビクション・ポリシーでは、アクセス頻度およびアクセス時間の組合せ(加重スコア)を基準として削除対象エントリが選択されます。アクセス頻度が低く、アクセスされていない期間が最も長いエントリから順番に削除されます。
HYBRID
バッキングマップの最大単位(Coherence)
[coherence-backing-map-high-units]
バッキングマップのキャッシュのサイズを制限するために使用します。この要素には、プルーニングが開始されるまでキャッシュに配置できる単位の最大数を指定します。この制限を超えると、キャッシュでプルーニング・プロセスが開始され、エビクション・ポリシーに従ってエントリが順番に削除されます。有効な値は、正の整数または0です(0は制限がないことを意味します) 100000
バッキングマップの最小単位(Coherence)
[coherence-backing-map-low-units]
バッキングマップでプルーニングを実行する際にどこまでキャッシュを小さくするかを示す単位の最小数を記述します。プルーニングによりキャッシュにこの数の単位が含まれるとはかぎらないが、これより少ない数になることはありません。プルーニングの実行時は、このサイズに達するまでエビクション・ポリシーに従ってエントリが順番に削除されます。有効な値は、正の整数または0で」。0はデフォルトを意味し、デフォルトはhigh-units設定の75%です(つまり、high-unitsの設定が1000である場合、この値は750になります)。 0
バッキングマップの存在期間(Coherence)
[coherence-backing-map-expiry-delay]
バッキングマップで前回の更新からエントリが期限切れとなるまでの、キャッシュでエントリが保持される期間を指定します。期限切れになったキャッシュ内のエントリはクライアントからアクセス不能となり削除されます。 0
ニアローカルスキームの有効化(Coherence)
[coherence-near-local-scheme-enabled]
trueの場合、フロントにローカルスキーム、バックにスキーム(Coherence)で指定したスキームが使用される二層キャッシュを構成します。 false
ニアローカルスキームのエビクションポリシー(Coherence)
[coherence-near-local-scheme-eviction-policy]
ニアローカルスキームを使用する場合のみ有効です。ニアローカルスキームで使用するエビクション・ポリシーのタイプを指定します。有効な値は次のとおりです。
- LRU: 最低使用頻度(Least Recently Used)によるエビクション・ポリシーでは、最後にアクセスされた時間を基準として削除対象エントリが選択されます。アクセスされていない期間が最も長いエントリから順番に削除されます。
- LFU: 最低アクセス頻度(Least Frequently Used)によるエビクション・ポリシーでは、アクセス頻度を基準として削除対象エントリが選択されます。アクセス頻度が最も低いエントリから順番に削除されます。
- HYBRID(デフォルト): ハイブリッド・エビクション・ポリシーでは、アクセス頻度およびアクセス時間の組合せ(加重スコア)を基準として削除対象エントリが選択されます。アクセス頻度が低く、アクセスされていない期間が最も長いエントリから順番に削除されます。
HYBRID
ニアローカルスキームの最大単位(Coherence)
[coherence-near-local-scheme-high-units]
ニアローカルスキームを使用する場合のみ有効です。ニアローカルスキームのキャッシュのサイズを制限するために使用されます。この要素には、プルーニングが開始されるまでキャッシュに配置できる単位の最大数を記述します。この制限を超えると、キャッシュでプルーニング・プロセスが開始され、エビクション・ポリシーに従ってエントリが順番に削除されます。有効な値は、正の整数または0です(0は制限がないことを意味します) 100
ニアローカルスキームの最小単位(Coherence)
[coherence-near-local-scheme-low-units]
ニアローカルスキームを使用する場合のみ有効です。ニアローカルスキームでプルーニングを実行する際にどこまでキャッシュを小さくするかを示す単位の最小数を指定します。プルーニングによりキャッシュにこの数の単位が含まれるとはかぎらないが、これより少ない数になることはありません。プルーニングの実行時は、このサイズに達するまでエビクション・ポリシーに従ってエントリが順番に削除されます。有効な値は、正の整数または0です。ゼロはデフォルトを意味し、デフォルトはhigh-units設定の75%です(つまり、high-unitsの設定が1000である場合、この値は750になる)。 0
ニアローカルスキームの存在期間(Coherence)
[coherence-near-local-scheme-expiry-delay]
ニアローカルスキームを使用する場合のみ有効です。ニアローカルスキームで前回の更新からエントリが期限切れとなるまでの、キャッシュでエントリが保持される期間を指定します。期限切れになったキャッシュ内のエントリはクライアントからアクセス不能となり削除されます。 1m
ニアスキームの無効化モード(Coherence)
[coherence-near-invalidation-strategy]
ニアローカルスキームを使用する場合のみ有効です。フロント層およびバック層の同期を保持するために使用される方針を指定します。有効な値は以下です。
- none: キャッシュに対して無効化イベントをリスニングしないよう指示します。この方針は、現在値とはかぎらないデータの使用がビジネス要件で許可されており、パフォーマンスおよびスケーラビリティがともに低い場合に最適です。データの鮮度は十分に簡潔なエビクション・ポリシーを使用することで保証されます。最悪の場合は、パフォーマンスが標準の分散キャッシュと同程度になります。
- present: ニア・キャッシュに対して、フロント・マップに現存するアイテムに関連したバック・マップ・イベントのみをリスニングするよう指示します。この方針は、クラスタ・ノードにスティッキーなデータ・アクセス・パターン(スティッキーなロード・バランサによるHTTPセッション管理など)がある場合に最適です。
- all: ニア・キャッシュに対してすべてのバック・マップ・イベントをリスニングするよう指示します。この方針は、読取り頻度の高いアクセス・パターンにおいて、各クラスタ・メンバーのフロント・キャッシュ間に大量のオーバーラップがある場合に最適である。
- auto(デフォルト): ニア・キャッシュに対して、present方針とall方針をキャッシュ統計に基づいて自動的に切り替えるよう指示する。
auto
アーキタイプによる既定値の変更

上記既定値はアーキタイプがstandardの場合のものです。データグリッド作成時のアーキタイプによって既定値が以下のように設定されます。 また、作成済みのデータグリッドのアーキタイプを変更した場合にも、以下の値に設定変更されます。

表1.19.1.1-3
属性名 standard high-performance high-available
キャッシュモード(Infinispan)
[infinispan-cache-mode]
DIST_SYNC DIST_ASYNC REPL_SYNC
L1キャッシュの有効化(Infinispan)
[infinispan-l1-enabled]
false true false
スキーム(Coherence)
[coherence-scheme]
distributed distributed replicated
バッキングマップの最大単位(Coherence)
[coherence-backing-map-high-units]
100000 100000 0
ニアローカルスキームの有効化(Coherence)
[coherence-near-local-scheme-enabled]
false true false

1.19.2. 永続化サービスに関する設定

以下は、MOで設定可能な永続化サービス設定項目の一覧です。

Dottedname :server.persistence-service

1.19.2.1. 一般設定項目一覧

表1.19.2.1-1
属性名
(attribute-name)
説明 既定値
L2キャッシュで使用するデータグリッド
[data-grid-name]
L2キャッシュで使用するデータグリッド名を指定します。 WebOTX上で動作するJPAアプリケーションのL2キャッシュのバックボーンとなるデータグリッド製品の既定値となります。
この方法で設定を変更した場合は、アプリケーションの再配備をすることなくデータグリッドの変更が可能です。 ただし、変更前と変更後でキャッシュデータは引き継がれません。
「データグリッド」の設定で、登録した「データグリッド名」を指定してください。何も指定しない場合はEclipseLinkのL2キャッシュを使用します。
尚、データグリッド製品の指定は「データグリッド」の設定で行います。
データグリッドにデータグリッド製品が指定されていない場合は、EclipseLinkのL2キャッシュを使用します。
なし


1.19.2.2. JPA設定項目一覧

表1.19.2.2-1
属性名
(attribute-name)
説明 既定値
トランザクションタイプ
[transaction-type]
永続化ユニットのトランザクションタイプを指定します。
値は、"JTA"または"RESOURCE_LOCAL"を指定してください。
なし
JTAデータソース
[jta-datasource]
有効なJTAデータソース名を指定します。
ターゲットコンテナまたはjavax.sql.DataSourceのインスタンスでデータソースを 見つけることができるJNDIリソース名を指定してください。
なし
非JTAデータソース
[non-jta-datasource]
非JTAデータソース名を指定します。
ターゲットコンテナまたはjavax.sql.DataSourceのインスタンスでデータソースを 見つけることができるJNDIリソース名を指定してください。
なし
ステートメントのキャッシュサイズ
[cache-statements-size]
ステートメントのキャッシュサイズを指定します。
内部ステートメント・キャッシュを使用するときに保有されるステートメントの数を指定します。 値はゼロ、もしくは正の整数である必要があります。
50
ステートメントのキャッシュ
[cache-statements]
ステートメントのキャッシュを行うか指定します。
JDBCステートメントをキャッシュするかどうかを指定します。
EclipseLinkの内部接続プーリングを使用している場合は、使用することを推奨します。

有効な値:
true:内部ステートメント・キャッシュを有効にします。
false:内部ステートメント・キャッシュを無効にします。

例:persistence.xmlファイルの例:property Map propertiesMap.put(PersistenceUnitProperties.CACHE_STATEMENTS、"false");
false(行わない)
キャッシュサイズ
[cache-size]
キャッシュサイズを指定します。
すべてのエンティティに適用されます。同じプレフィックスを持つ個々の エンティティプロパティによってオーバーライドされる場合があります。 ほとんどのキャッシュタイプの場合、サイズは初期サイズではなく、固定または最大サイズです。
CacheType.SoftCacheとCacheType.HardCacheのサイズは、サブキャッシュサイズです。
100
キャッシュタイプ
[cache-type]
キャッシュタイプの既定値を指定します。 すべてのエンティティに適用されます。
同じプレフィックスを持つ個々のエンティティプロパティによってオーバーライドされる場合があります。
キャッシュの共有を行い、エンティティをキャッシュしたくない場合は、キャッシュのタイプを設定します。
次のいずれかを設定します。

Full:
強参照キャッシュ。永続的にキャッシュされます。

Weak:
弱参照キャッシュ。弱可到達の場合、ガーベージコレクションによる回収の対象になります。

Soft:
ソフト参照キャッシュ。メモリ残量の低下時にキャッシュアウトする参照形態です。リソースの消費率や生存期間に応じて,ガーベージコレクションによる回収の対象になります。

SoftWeak:
ソフト参照と弱参照でキャッシュします。

HardWeak:
強参照と弱参照でキャッシュします。

None:
エンティティオブジェクトをキャッシュしません。
SoftWeak
キャッシュの共有
[cache-shared]
キャッシュの共有を行うか指定します。
すべてのエンティティに適用されます。
同じプレフィックスを持つ個々のエンティティプロパティによってオーバーライドされる場合があります。
エンティティをキャッシュしたくない場合は、"false(行わない)"に設定してください。
true(行う)
テーブル作成時のサフィックス
[table-creation-suffix]
テーブル作成時のサフィックス文字列を指定します。 なし
ターゲットデータベース
[target-database]
ターゲットデータベース名を指定します。
AUTOの場合、EclipseLinkがデータベースとJDBCメタデータにアクセスして、使用するデータベースを決定します。
WebOTXでサポートするJDBCについては、 [ 製品構成と提供機能 > 3.1.2.2. JDBC ] を参照してください。
AUTO
ウィービング
[weaving]
ウィービングを指定します。
ウィービングは、コンパイル済のJavaクラスのバイトコードを操作する方法です。 JPAエンティティとPlain Old Java Object(POJO)クラスの両方のパフォーマンスを向上するために、 内部最適化、遅延ロード、強力なリレーションシップ上の間接参照、変更追跡、フェッチグループ などの操作にウィービングを使用します。
以下の値が指定できます

TRUE:
動的ウィービングを行います。

FALSE:
ウィービングを無効化します。

STATIC:
静的ウィービングを行います。
true(動的ウィービングを行う)
内部最適化のためのウィービング
[weaving-internal]
内部最適化のためのウィービングを行うか指定します。 true(行う)
遅延ロードのためのウィービング
[weaving-lazy]
遅延ロードのためのウィービングを行うか指定します。
true(行う)
強力なリレーションシップ上の間接参照のためのウィービング
[weaving-eager]
強力なリレーションシップ上の間接参照のためのウィービングを行うか指定します。 false(行わない)
変更追跡のためのウィービング
[weaving-change-tracking]
変更追跡のためのウィービングを行うか指定します。 true(行う)
フェッチグループのためのウィービング
[weaving-fetchgroups]
フェッチグループのためのウィービングを行うか指定します。 true(行う)
永続化コンテキストの参照モード
[persistence-context-reference-mode]
永続化コンテキストの参照モードを指定します。
以下のモードが指定できます。

HARD:
ハード参照を使用してすべてのオブジェクトが参照されます。

WEAK:
アクティブ属性の変更追跡をサポートするオブジェクトへの参照は、弱参照によって保持されます。

FORCE_WEAK:
変更追跡の対象外であるオブジェクトを含むすべてのオブジェクトは、弱参照によって保持されます。
HARD
悲観的ロックのタイムアウト時間
[pessimistic-lock-timeout]
悲観的ロックのタイムアウト時間(ミリ秒)を指定します。
悲観的ロックでのタイムアウトを設定します。データベースクエリは、タイムアウトを 超えた場合データベースクエリを終了して例外が返されます。
有効な値は、0 またはそれ以上の整数です。
0を指定した場合は、タイムアウトしません。
0(タイムアウトしない)
クエリ実行時のタイムアウト時間
[query-timeout]
クエリ実行時のタイムアウト時間(ミリ秒)を指定します。
デフォルトのクエリタイムアウト値を設定します。

有効な値は、0 またはそれ以上の整数です。
0を指定した場合は、タイムアウトしません。
0(タイムアウトしない)


1.19.2.3. 性能情報設定項目一覧

表1.19.2.3-1
属性名
(attribute-name)
説明 既定値
性能情報採取ステータス
[performance-statistics-status]
性能情報採取ステータスです。以下の値が設定されます。
停止
起動中
なし
性能情報採取フラグ
[performance-statistics-flag]
性能情報採取を行うか指定します。 false(行わない)


1.19.3. データプリロードに関する設定

以下は、MOで設定可能なデータプリロード設定項目の一覧です。

Dottedname :server.persistence-service.data-pre-loads


1.19.3.1. 設定項目一覧

表1.19.3.1-1
属性名
(attribute-name)
説明 既定値
データプリロードを実行する
[data-pre-load-enabled]
サービスの開始時にデータのプリロードを実行するか指定します。
false(行わない)
データプリロードのタイムアウトまでの時間
[data-pre-load-timeout]
データプリロードのタイムアウトまでの時間を設定します。単位は分です。
指定時間経過した場合、データプリロードを中断します。
0を指定した場合は、タイムアウトしません。
30
読込モード
[reading-mode]
読込モードを設定します。

同期:読み込みを同期で行います。
非同期:非同期で読み込みます。
同期
ランキングデータのパス
[rankingdata-file-path]
ランキングデータのファイルパスを指定します。 なし


1.19.4. データプリロード対象エンティティに関する設定

以下は、MOで設定可能なデータプリロード対象エンティティ設定項目の一覧です。

Dottedname :server.persistence-service.data-pre-loads.persistence-unit._wo_dotted_.data-pre-load._wo_dotted_


1.19.4.1. 設定項目一覧

表1.19.4.1-1
属性名
(attribute-name)
説明 既定値
エンティティ名
[name]
エンティティ名が設定されます。
エンティティ名(完全修飾名)
[entity-fqcn]
エンティティの(完全修飾名)FQCNが設定されます。
データプリロード対象
[data-pre-load-enabled]
データプリロードの対象エンティティとするか指定します。 false(対象としない)
分散環境下でデータプリロードを実行
[distribute-preload-enabled]
分散環境でデータプリロードを行うか指定します。 false(行わない)
プリロード対象エンティティID指定方法
[target-entity]
エンティティIDによる読込データを指定します。
以下の方法が指定できます。

すべて:
全てのエンティティIDを読み込みます。
ランキング順:
「最大読み込み件数」の件数分を、ランキング順に読み込みます。
任意:
指定されたエンティティIDを読み込みます。
すべて
プリロード対象エンティティID
[target-entity-id]
プリロード対象のエンティティIDを指定します。
複数のエンティティIDを指定する場合は、セパレータとして",(カンマ)"で区切ります。
なし
最大読み込み件数
[max-read-count]
このエンティティでプリロード可能なデータ件数を指定します。
正の整数を指定します。
1000
読み込み待ち合わせ時間
[transition-threshold]
次のエンティティの読み込み待ち合わせの時間を指定します。単位は秒です。
有効な値は、0 またはそれ以上の整数です。
0を指定した場合は、同期モードと同じになります。
60
同期タイムアウト
[synchronous-timeout]
読込処理のタイムアウト時間を指定します。単位は秒です。
有効な値は、0 またはそれ以上の整数です。
0を指定した場合は、タイムアウトしません。
60
優先度
[priority]
プリロードする優先順位を指定します。
数値が小さいほど優先度が高くなります。 正の整数を指定します。
100
プリロードの状態
データプリロードの状態が示されます。

項目説明
STATUS状態 [INIT | LOADING | DONE | ERROR]

INIT: 読み込み開始待ち
LOADING: 読み込み中
DONE: 読み込み正常終了
ERROR: 読み込み異常終了
START TIME開始時間 (YYYY/MM/dd HH:mm:ss:SSS)
END TIME終了時間 (YYYY/MM/dd HH:mm:ss:SSS)
APPNAME アプリケーション名
UNITNAME 永続化ユニット名
なし