【问题标题】:Java Cassandra driver migration from 3 to 4Java Cassandra驱动从3迁移到4
【发布时间】:2020-12-15 09:50:44
【问题描述】:

我目前正在将 java Cassandra 驱动程序从 3.x 版迁移到 4.x 版,并且难以在新驱动程序上设置我们想要的配置。

我知道Cluster 类已经消失并替换为CqlSession,只是不知道如何迁移这些:

Cluster cluster = Cluster.builder()
    ...
    // how can i migrate these to be used in CqlSession ???
    .withLoadBalancingPolicy(loadBalancingPolicy)
    .withCompression(ProtocolOptions.Compression.LZ4)
    .withQueryOptions(new QueryOptions().setConsistencyLevel(LOCAL_QUORUM))
    .build();

知道如何将其移至新驱动程序吗?这些可以以某种方式设置在CqlSessionBuilder 上还是我必须使用完全不同的东西?

【问题讨论】:

    标签: java cassandra driver


    【解决方案1】:

    配置已在 Java 驱动程序 4 中完全重构。建议使用 reference configuration file 作为可配置选项。例如,您可以使用以下方式定义压缩选项:

    datastax-java-driver {
      advanced.protocol.compression = lz4 // or snappy
    }
    

    或根据执行配置文件设置一致性级别:

    datastax-java-driver {
      profiles {
        oltp {
          basic.request.timeout = 1000 milliseconds
          basic.request.consistency = LOCAL_QUORUM
      }
    }
    

    有关详细信息,请查看Java driver 4.x Upgrade Guide 作为起点。然后查看以下页面以供参考:

    如果您有兴趣,请查看Java driver sample app at Astra,它为您提供了快速入门所需的所有代码。干杯!

    【讨论】:

    • 非常感谢。我可能还有一个问题。我们目前使用自定义的有状态 LoadBalancingPolicy。有没有办法插入一个已经有一些依赖关系的 LoadBalancing 对象,而不是仅仅传递一个 LoadBalancing 类?
    • 我不确定。让我联系 DataStax 的驱动程序开发人员,并会回来提供更新。干杯!
    猜你喜欢
    • 1970-01-01
    • 2022-09-02
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多