从Datastax Cassandra Driver 1.9迁移至4.14.x:QueryOptions迁移方法确认
Datastax Cassandra Driver 1.9 迁移至 4.14.x:代码等价性验证
你提供的4.14.x版本代码是原1.9版本代码的等价实现,属于正确的迁移方式,下面详细说明:
原1.9代码的核心作用
这段代码为Cluster设置全局默认的请求一致性级别为LOCAL_QUORUM,所有通过该Cluster创建的Session执行查询时,默认会使用这个一致性级别:
Builder builder = Cluster.builder() .withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM));
4.14.x版本代码的等价性说明
4.x版本重构了驱动核心架构,用CqlSession替代了旧的Cluster+Session组合,配置体系改为基于DriverConfigLoader。你提供的代码通过编程式配置加载器,设置全局默认请求一致性级别为LOCAL_QUORUM,和原代码的功能完全一致:
DriverConfigLoader driverConfigLoader = DriverConfigLoader.programmaticBuilder() .withString(DefaultDriverOption.REQUEST_CONSISTENCY, "LOCAL_QUORUM") .build(); final CqlSessionBuilder cqlSessionBuilder = CqlSession.builder() .withConfigLoader(driverConfigLoader);
额外可选的迁移方式
除了通过DriverConfigLoader配置,4.x版本也支持更贴近原代码风格的面向对象配置方式,直接设置默认请求配置,效果相同:
CqlSession.builder() .withDefaultRequestConfig(RequestConfig.builder() .setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM) .build()) .build();
两种方式都能实现全局默认一致性级别的设置,可以根据团队的配置风格偏好选择。
内容的提问来源于stack exchange,提问作者Vladimir
相关产品推荐
相关产品推荐

