【问题标题】:How to run Spring Data Cassandra 2.2.1 with Cassandra 2.1.9?如何使用 Cassandra 2.1.9 运行 Spring Data Cassandra 2.2.1?
【发布时间】:2020-03-08 08:04:20
【问题描述】:

我使用 Spring Data Cassandra 2.2.1 开发了一个新应用程序,并希望在 Cassandra 2.1.9 服务器上运行它(我知道是旧的)。但是我们得到了错误

com.datastax.driver.core.exceptions.UnsupportedProtocolVersionException: Host does not support protocol version V4 but V3

Spring Data Cassandra manual 声称 Spring Data 2.2.1 至少需要 Cassandra 2.1,所以这个应该工作,但它没有。我们包含的唯一特定于 cassandra 的依赖项是 org.springframework.boot:spring-boot-starter-data-cassandra

我怎样才能让它工作?

【问题讨论】:

    标签: java spring-data-cassandra cassandra-2.1


    【解决方案1】:

    原来您可以配置驱动程序使用的协议版本。 Spring Boot Cassandra 2.2.1 和 com.datastax.driver.core 3.7.2 的默认设置是 V4,即至少 Cassandra 2.2.0。

    配置它:

    @Configuration
    @EnableCassandraRepositories
    public class CassandraConfig extends AbstractCassandraConfiguration {
      @Value("${cassandra.protocolVersion}")
      private Integer protocolVersion;
      @NotNull
      @Override
      public ProtocolVersion getProtocolVersion() {
        return ProtocolVersion.fromInt(protocolVersion);
      }
    }
    

    例如在您的 application.yml 中为 Cassandra 2.1.9:

    cassandra.protocolVersion: 3
    

    【讨论】:

      猜你喜欢
      • 2019-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-13
      • 2014-10-11
      • 1970-01-01
      • 2018-08-23
      • 2020-10-31
      相关资源
      最近更新 更多