2.5. 競合解決アルゴリズムのカスタマイズ
別のアルゴリズムを使用してバックアップの場所間の競合するエントリーを解決するように Data Grid を設定します。
手順
- Data Grid 設定を開いて編集します。
-
Data Grid アルゴリズムまたはカスタム実装のいずれかを、
backups
要素のmerge-policy
属性で指定します。
Data Grid アルゴリズムの使用
org.infinispan.xsite.spi.XSiteMergePolicy
列挙で、すべての Data Grid アルゴリズムと説明を検索します。
以下の設定例では、両方のサイトから競合するエントリーを削除する ALWAYS_REMOVE
アルゴリズムを使用します。
<distributed-cache name="eu-customers"> <backups merge-policy="ALWAYS_REMOVE"> <backup site="LON" strategy="ASYNC"/> </backups> </distributed-cache>
カスタム実装の使用
カスタムの
XSiteEntryMergePolicy
実装を作成します。public interface XSiteEntryMergePolicy<K, V> { CompletionStage<SiteEntry<V>> merge(K key, SiteEntry<V> localEntry, SiteEntry<V> remoteEntry); }
以下の例のように、
merge-policy
属性の値として完全修飾クラス名を指定します。<distributed-cache name="eu-customers"> <backups merge-policy="org.mycompany.MyCustomXSiteEntryMergePolicy"> <backup site="LON" strategy="ASYNC"/> </backups> </distributed-cache>