9.3. インバリデーションモードの設定 (ライブラリーモード)

次の手順は、Red Hat JBoss Data Grid のライブラリーモードにおけるインバリデーションモードのキャッシュ設定を示しています。

手順9.2 インバリデーションモードの設定

  1. クラスタリング要素の設定

    <clustering mode="invalidation">
            <sync replTimeout="${TIME}" />
            <stateTransfer chunkSize="${SIZE}"
                           fetchInMemoryState="{true/false}"
                           awaitInitialTransfer="{true/false}"
                           timeout="${TIME}" />
    1. clustering 要素の mode パラメーター値は、キャッシュに選択されたクラスタリングモードを決定します。
    2. sync 要素の replTimeout パラメーターは、リモート呼び出し後の確認に設定される最大の時間範囲 (ミリ秒単位) を指定します。この時間範囲が確認なしに終了する場合、例外がスローされます。
    3. stateTransfer 要素は、ノードがクラスターを出るか、またはクラスターに参加する際に状態がどのように転送されるかを指定します。これは以下のパラメーターを使用します。
      1. chunkSize パラメーターは、転送するキャッシュエントリーの状態バッチのサイズを指定します。この値が 0 より大きい場合、設定される値は送信されるチャンクのサイズになります。値が 0 より小さい場合、すべての状態は同時に転送されます。
      2. true に設定される fetchInMemoryState パラメーターは、起動時に隣接したキャッシュから状態についての情報を要求します。これは、キャッシュの起動時間に影響を与えます。
      3. awaitInitialTransfer パラメーターにより、参加者ノードでのメソッド CacheManager.getCache() の最初の呼び出しがブロックされ、参加が完了し、キャッシュが近接キャッシュからの状態の受信を完了するまで待機します (fetchInMemoryState が有効な場合)。このオプションは、分散キャッシュとレプリケートされたキャッシュにのみ適用され、デフォルトで有効になります。
      4. timeout パラメーターは、要求された状態の近接キャッシュからの応答をキャッシュが待機する最大時間 (ミリ秒単位) を指定します。timeout の時間内に応答を受け取らない場合は、起動プロセスが中止され、例外がスローされます。
  2. トランスポート設定の指定

    <global>
        <transport clusterName="${NAME}"
            distributedSyncTimeout="${TIME}"
            transportClass="${CLASS}" />
    </global>
    transport 要素は、以下のようにキャッシュコンテナのトランスポート設定を定義します。
    1. clusterName パラメーターはクラスターの名前を指定します。ノードは同じ名前を共有するクラスターのみに接続できます。
    2. distributedSyncTimeout パラメーターは、分散ロック上でロックを取得するために待機する時間を指定します。この分散ロックにより、単一キャッシュは一度に状態を転送するか、または状態をリハッシュすることができます。
    3. transportClass パラメーターは、キャッシュコンテナのネットワークトランスポートを表すクラスを指定します。