9.3. インバリデーションモードの設定 (ライブラリーモード)
次の手順は、Red Hat JBoss Data Grid のライブラリーモードにおけるインバリデーションモードのキャッシュ設定を示しています。
手順9.2 インバリデーションモードの設定
クラスターモードの設定
clustering
要素のmode
パラメーター値は、キャッシュに選択されたクラスタリングモードを決定します。<clustering mode="invalidation">
リモート呼び出しタイムアウトの指定
sync
要素のreplTimeout
パラメーターは、リモート呼び出し後の確認に設定される最大の時間範囲 (ミリ秒単位) を指定します。この時間範囲が確認なしに終了する場合、例外がスローされます。<clustering mode="invalidation"> <sync replTimeout="${TIME}" />
状態の転送設定の定義
stateTransfer
要素は、ノードがクラスターを出るか、またはクラスターに参加する際に状態がどのように転送されるかを指定します。これは以下のパラメーターを使用します。状態転送のバッチサイズの指定
chunkSize
パラメーターは、転送するキャッシュエントリーの状態バッチのサイズを指定します。この値が0
より大きい場合、設定される値は送信されるチャンクのサイズになります。値が0
より小さい場合、すべての状態は同時に転送されます。<clustering mode="invalidation"> <sync replTimeout="${TIME}" /> <stateTransfer chunkSize="${SIZE}" />
fetchInMemoryState
パラメーターの設定true
に設定されるfetchInMemoryState
パラメーターは、起動時に隣接したキャッシュから状態についての情報を要求します。これは、キャッシュの起動時間に影響を与えます。<clustering mode="invalidation"> <sync replTimeout="${TIME}" /> <stateTransfer chunkSize="${SIZE}" fetchInMemoryState="{true/false}" />
awaitInitialTransfer
パラメーターの定義awaitInitialTransfer
パラメーターにより、joiner ノードでのメソッドCacheManager.getCache()
への最初の呼び出しはブロックし、参加が完了し、キャッシュが隣接するキャッシュからの状態の受信を完了するまでブロックします (fetchInMemoryState
が有効な場合)。このオプションは、分散キャッシュとレプリケートされたキャッシュにのみ適用され、デフォルトで有効にされます。<clustering mode="invalidation"> <sync replTimeout="${TIME}" /> <stateTransfer chunkSize="${SIZE}" fetchInMemoryState="{true/false}" awaitInitialTransfer="{true/false}" />
timeout
値の設定timeout
パラメーターは、キャッシュが要求された状態を持つ隣接キャッシュからの応答を待機する最長時間 (ミリ秒単位) を指定します。timeout
期間内で応答が受信されない場合、起動プロセスは中止し、例外がスローされます。<clustering mode="invalidation"> <sync replTimeout="${TIME}" /> <stateTransfer chunkSize="${SIZE}" fetchInMemoryState="{true/false}" awaitInitialTransfer="{true/false}" timeout="${TIME}" />
トランスポート設定の指定
transport
要素は、以下のようにキャッシュコンテナのトランスポート設定を定義します。クラスター名の指定
clusterName
パラメーターはクラスターの名前を指定します。ノードは同じ名前を共有するクラスターのみに接続できます。<global> <transport clusterName="${NAME}" /> </global>
distributedSyncTimeout
値の設定distributedSyncTimeout
パラメーターは、分散ロック上でロックを取得するために待機する時間を指定します。この分散ロックにより、単一キャッシュは一度に状態を転送するか、または状態をリハッシュすることができます。<global> <transport clusterName="${NAME}" distributedSyncTimeout="${TIME}" /> </global>
ネットワークトランスポートの設定
transportClass
パラメーターは、キャッシュコンテナのネットワークトランスポートを表すクラスを指定します。<global> <transport clusterName="${NAME}" distributedSyncTimeout="${TIME}" transportClass="${CLASS}" /> </global>