如何使用Cassandra 2.1.9运行Spring Data Cassandra 2.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手册声称Spring Data 2.2.1至少需要Cassandra 2.1,所以这个应该有效,但它没有。我们包含的唯一cassandra特定依赖项是org.springframework.boot:spring-boot-starter-data-cassandra

我怎样才能让它发挥作用?

您可以配置驱动程序使用的协议版本。Spring Boot Cassandra 2.2.1和com.datastax.driver.core3.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);
}
}

例如,在Cassandra 2.1.9的application.yml中:

cassandra.protocolVersion: 3

最新更新