Spring Boot 2.5.1集成Cassandra如何配置启用协议版本V5
配置Cassandra V5协议的操作步骤
根因说明
Spring Boot 2.5.x版本自带的spring-boot-starter-data-cassandra自动配置默认限制了驱动最高协商协议版本为V4,哪怕底层DataStax Java Driver 4.11.1支持V5协议、集群也兼容V5,默认也只会协商使用V4版本。
配置方法
方式一:通过配置文件直接修改(推荐)
在application.yml中添加如下配置:
spring: data: cassandra: protocol-version: V5
如果使用application.properties,配置如下:
spring.data.cassandra.protocol-version=V5
方式二:通过自定义会话构造器配置
如果你使用编程式自定义Cassandra会话,可通过CqlSessionBuilderCustomizer注入配置:
import com.datastax.oss.driver.api.core.config.DefaultDriverOption; import com.datastax.oss.driver.api.core.config.DriverConfigLoader; import org.springframework.boot.autoconfigure.cassandra.CqlSessionBuilderCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class CassandraConfig { @Bean public CqlSessionBuilderCustomizer sessionBuilderCustomizer() { return builder -> builder.withConfigLoader( DriverConfigLoader.programmaticBuilder() .withString(DefaultDriverOption.PROTOCOL_VERSION, "V5") .build() ); } }
注意事项
- 仅Cassandra 4.0及以上版本支持V5协议,若你的集群版本低于4.0,强制配置V5会导致应用启动失败。
- 配置完成后重启应用,可查看启动日志中
c.d.o.d.i.core.session.DefaultSession的相关记录,确认协商的协议版本已变为V5。
内容的提问来源于stack exchange,提问作者PatPanda
相关产品推荐
相关产品推荐

