我们目前正在从3.x
升级到e1d1e。我们将programaticBuilder
用于DriverConfigLoader
。下面是相同的代码。
DriverConfigLoader driverConfigLoader = DriverConfigLoader.programmaticBuilder()
.withDuration(DefaultDriverOption.HEARTBEAT_INTERVAL, Duration.ofSeconds(60))
.withString(DefaultDriverOption.REQUEST_CONSISTENCY, ConsistencyLevel.LOCAL_QUORUM.name())
.withString(DefaultDriverOption.RETRY_POLICY_CLASS, "DefaultRetryPolicy")
.withString(DefaultDriverOption.RECONNECTION_POLICY_CLASS, "ConstantReconnectionPolicy")
.withDuration(DefaultDriverOption.RECONNECTION_BASE_DELAY, Duration.ofSeconds(5))
.withString(DefaultDriverOption.LOAD_BALANCING_POLICY_CLASS, "DcInferringLoadBalancingPolicy")
.build();
希望检查在发生写入/读取时如何验证ConsistencyLevel的正确设置。是否有调试日志打印机制可用于此目的。
2条答案
按热度按时间oxf4rvwz1#
@Shobby,对于DataStax Java Driver 4.x version,您可以这样做:
这将打印每个定义的配置文件中每个定义选项的值。但它不会打印未定义的选项。希望这有帮助!
dgenwo3n2#
您的问题表明,您不相信配置的一致性级别没有得到驱动程序的认可,所以您正在寻找证据来证明它的认可。对我来说,这没有意义。也许您遇到了另一个与请求一致性相关的问题,您应该发布相关信息。
无论如何,
DriverConfigLoader
是为了方便而提供的,但我们不鼓励使用它,因为它意味着您是应用程序中的硬编码配置,这是一种不好的做法。如果您需要进行更改,由于配置是硬编码的,因此您必须重新编译应用程序。只有在您有非常具体的原因时才使用编程加载程序。配置驱动程序选项的推荐方法是使用应用程序配置文件(
application.conf
)。优点包括:要将基本请求一致性设置为
LOCAL_QUORUM
,请执行以下操作:有关详细信息,请参见Configuring the Java driver。干杯