【问题标题】:how to set ProtocolVersion when using spring data cassandra xml config使用spring data cassandra xml config时如何设置ProtocolVersion
【发布时间】:2017-10-13 15:42:37
【问题描述】:

我们正在尝试将 DSE 从 4.6 升级到 4.8.11,但在连接客户端驱动程序版本 2.1.6 时,我们遇到了版本不支持的问题。升级以滚动方式进行,我们得到 com.datastax.driver.core.UnsupportedProtocolVersionException。分类后,看起来我们需要指定要使用的协议版本。目前我们使用 Spring Data Cassandra jar (1.3.2.RELEASE) 连接到 Cassandra,但看起来 XML 配置没有设置协议版本的选项。有什么帮助吗?

这就是我们想要实现的目标:

集群集群 = Cluster.builder().addContactPoint("x.x.x.x").withProtocolVersion(ProtocolVersion.V2).build();

http://docs.datastax.com/en/developer/java-driver/2.1/manual/native_protocol/#protocol-version-with-mixed-clusters

【问题讨论】:

    标签: spring-data-cassandra


    【解决方案1】:

    答案是肯定的和否定的:

    • ProtocolVersionwas introduced with version 1.5的配置。
    • 无法通过命名空间配置<cassandra:cluster port=… /> 设置ProtocolVersion
    • 可以使用 Spring Data for Apache Cassandra 1.5 在 CassandraCqlClusterFactoryBean 上设置 ProtocolVersion。您可以从 XML 配置 (<bean class="o.s.c.c.CassandraCqlClusterFactoryBean">…</bean>) 中引用 CassandraCqlClusterFactoryBean,但您将无法从改进的命名空间配置支持中受益。

    理想情况下,将CassandraCqlClusterFactoryBean 切换到Java-config。您可以混合使用 XML 和 JavaConfig。

    参考资料:

    【讨论】:

      猜你喜欢
      • 2017-08-07
      • 1970-01-01
      • 2018-07-23
      • 2016-11-22
      • 2016-02-06
      • 1970-01-01
      • 2014-09-22
      • 2019-12-23
      • 2019-12-23
      相关资源
      最近更新 更多