java - 用于增强耐用性的 Couchbase 客户端配置
问题描述
我正在尝试在我的 couchbase java 应用程序中实现 ATPlus 扫描一致性。我已经更新了我的查询以包括consistentWith(mutationState)
:
RawJsonDocument courseJsonDocument = toRawJsonDocument(course, true);
RawJsonDocument insertedJsonDocument = bucket.insert(courseJsonDocument);
MutationState insertMutationState = MutationState.from(insertedJsonDocument);
.....
N1qlQuery.simple(GET_COURSE_BY_ID_QUERY, N1qlParams.build().consistentWith(mutationState));
我正在尝试实现 read-your-own-write,但是当我在插入文档后立即运行查询时,什么也没找到,所以我一定做错了什么。我认为我所缺少的实际上是在客户端配置上启用了增强的持久性。
我看到了如何在 .NET 中执行此操作的示例,但我无法弄清楚如何在 JAVA 中“启用增强的持久性”。这是我的集群配置:
Cluster cluster = CouchbaseCluster.create(DefaultCouchbaseEnvironment.builder()
.queryServiceConfig(QueryServiceConfig.create(1, 100))
.mutationTokensEnabled(true)
.observeIntervalDelay(Delay.fixed(100, TimeUnit.MICROSECONDS))
.connectTimeout(timeout)
.build(),
clusterHost);
解决方案
推荐阅读
- f# - StackOverflow同时遍历带有记录键类型的地图
- java - 将 WAR 部署到 Wildfly 14 时 commons-lang3 的 ClassNotFoundException
- java - Java-Stream-API:地图归约
- typescript - Not able to import class in angular 5
- java - 在 JavaFX XYSeries 中找到最大 Y
- struct - 如何制作一个所有字段都是公共的公共结构而不为每个字段重复“pub”?
- java - stuck with a malfunctioning while loop
- android - 如何在 React Native 中获取在线当前日期和时间
- prestashop - My Prestashop Back Office Is not lising payment methods
- python - How to disable vscode autocomplete when using a dot after an integer in python?