如何在Cassandra 2.1.9中运行Spring Data Cassandra 2.2.1?

时间:2019-11-12 15:19:29

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

我已经用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,因此该应该有效,但实际上没有。我们包括的唯一的卡桑德拉特定依赖项是org.springframework.boot:spring-boot-starter-data-cassandra

如何使它正常工作?

1 个答案:

答案 0 :(得分:0)

原来,您可以配置驱动程序使用的协议版本。 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