如何使用 Cassandra Java 驱动程序为所有查询设置一致性级别?

How to set consistency level for all queries using Cassandra Java Driver?

在较早的版本中,我会这样做:

QueryOptions queryOptions = new QueryOptions();
queryOptions.setConsistencyLevel(ConsistencyLevel.LOCAL_ONE)
cluster = Cluster.builder()
        .withQueryOptions(queryOptions)
        ...
        .build();

我找不到使用 DataStax Java Driver 4.2

的方法

我能找到的最接近的是

boundStatement.setConsistencyLevel(ConsistencyLevel.LOCAL_ONE);

但我想为所有查询设置级别。

在 Java 驱动程序 4.x 中,配置是通过其他方式完成的 - 您可以在 application.conf 文件中指定配置选项(首选方法),或者通过 [=11= 以编程方式指定它] (主要用于工具构建器)。参见 driver documentation for details

对于您的情况,您需要为以下配置参数指定值(参见 configuration reference for details, also in source code):

  • datastax-java-driver.basic.request.consistency "normal" 个请求;
  • datastax-java-driver.basic.request.serial-consistency 用于轻量级交易;

P.S。最好升级到最新版本 - 4.6.0 昨天发布了...