2.5. 自定义冲突解析算法


将 Data Grid 配置为使用不同的算法来解析备份位置之间的冲突条目。

流程

  1. 打开 Data Grid 配置以进行编辑。
  2. 使用 backup 元素的 merge-policy 属性指定 Data Grid 算法之一或自定义实现。

使用 Data Grid 算法

org.infinispan.xsite.spi.XSiteMergePolicy enum 中查找所有 Data Grid 算法及其描述。

以下示例配置使用 ALWAYS_REMOVE 算法,该算法从两个站点中删除冲突条目:

<distributed-cache name="eu-customers">
   <backups merge-policy="ALWAYS_REMOVE">
      <backup site="LON" strategy="ASYNC"/>
   </backups>
</distributed-cache>
Copy to Clipboard Toggle word wrap

使用自定义实现

  1. 创建自定义 XSiteEntryMergePolicy 实现。

    public interface XSiteEntryMergePolicy<K, V> {
       CompletionStage<SiteEntry<V>> merge(K key, SiteEntry<V> localEntry, SiteEntry<V> remoteEntry);
    }
    Copy to Clipboard Toggle word wrap
  2. 将完全限定类名称指定为 merge-policy 属性的值,如下例所示:

    <distributed-cache name="eu-customers">
       <backups merge-policy="org.mycompany.MyCustomXSiteEntryMergePolicy">
          <backup site="LON" strategy="ASYNC"/>
       </backups>
    </distributed-cache>
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat