首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Infinispan9.1:不支持事务缓存的异步缓存模式“REPL_ASYNC”

Infinispan9.1:不支持事务缓存的异步缓存模式“REPL_ASYNC”
EN

Stack Overflow用户
提问于 2017-07-25 09:27:15
回答 1查看 503关注 0票数 2

我将该项目从8.2.4最后迁移到Infinispan9.1.0 from,并得到了下一个异常:

org.infinispan.commons.CacheConfigurationException: ISPN000441:用于事务性缓存的不支持的异步缓存模式“REPL_ASYNC”

相关代码:

代码语言:javascript
复制
new ConfigurationBuilder()
            .jmxStatistics()
            .enabled(false)
            .available(false)
            .clustering()
            .cacheMode(CacheMode.REPL_ASYNC)
            .stateTransfer().awaitInitialTransfer(false)
            .transaction()
            .transactionManagerLookup(new DummyTransactionManagerLookup())
            .transactionMode(TransactionMode.TRANSACTIONAL)
            .lockingMode(LockingMode.PESSIMISTIC)
            .recovery()
            .enabled(false)
            .invocationBatching()
            .enable(false)
            .indexing()
            .index(Index.ALL)
            .addProperty("default.indexmanager", "near-real-time")
            .addProperty("default.directory_provider", "ram")
            .addProperty("default.worker.execution", "sync")
            .addProperty("default.exclusive_index_use", "true")
            .addProperty("default.reader.strategy", "shared")
            .build();

这里还有问题组合,但在8.2.4中,最终版本效果很好。

代码语言:javascript
复制
.cacheMode(CacheMode.REPL_ASYNC)
.transactionMode(TransactionMode.TRANSACTIONAL) // Maybe is there another way to lock put operations?

如何重新配置缓存以保存其特性?

EN

回答 1

Stack Overflow用户

发布于 2017-07-25 09:52:14

用于事务缓存的异步模式是不安全的,因为它不需要等待事务在集群中的每个节点中提交,然后才向TransactionManager报告。如果你运气不好,这会使你的数据不一致。

为了避免任何问题,它被删除了。请将您的配置升级为使用REPL_SYNC

另外,DummyTransactionManagerLookup也被废弃了,它应该被EmbeddedTransactionManagerLookup取代。

在8.x和9.x之间还有其他与事务相关的变化。有关更多细节,请查看升级指南(0)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45299164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档