Apache Ignite缓存原子性模式不匹配

时间:2019-03-22 11:37:09

标签: java ignite

像这样创建缓存后

CacheConfiguration<String, String> cacheCfg = new CacheConfiguration<>("cache");
cacheCfg.setCacheMode(CacheMode.REPLICATED);
cacheCfg.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
igniteCfg.setCacheConfiguration(cacheCfg);
Ignite ignite = Ignition.start(cfg);

ignite.getOrCreateCache(cacheCfg)

该异常恰好是:

Caused by: org.apache.ignite.IgniteCheckedException: Cache atomicity mode mismatch (fix cache atomicity mode in cache configuration or set -DIGNITE_SKIP_CONFIGURATION_CONSISTENCY_CHECK=true system property) [cacheName=xac-banking-accounts-warmup-cache, localAtomicityMode=TRANSACTIONAL, remoteAtomicityMode=ATOMIC, rmtNodeId=8a8da4fb-d561-4e10-8b67-1b5c8b9d941d]

在调试模式下,我在代码中发现了一些配置集:

  1. GridCacheAttributes rmtAttr
  2. GridCacheAttributes locAttr

所以我认为我应该能够配置rmt(远程)缓存 但我找不到方式或地点。

您知道其他配置远程缓存的方法吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,创建缓存后,您无法更改原子性模式。您的配置必须与远程节点上的配置相同。

另一方面,如果要更改类型,则必须使用新配置创建新的缓存并复制数据。 (这不是理想的方法,但是目前是这样的。)

相关问题