我正在尝试在我的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));
我试图实现自己编写的读取,但是当我在插入文档后立即运行查询时,没有找到任何内容,所以我一定做错了。我认为我所缺少的实际上是在客户端配置上增强了持久性。
我看到了如何在.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);