如何使用CassandraAutoConfiguration在spring boot应用程序和cassandra之间配置ssl?

时间:2017-03-02 08:35:01

标签: spring-boot cassandra spring-data spring-data-cassandra

我正在尝试使用spring-boot-data-cassandra从我的Spring启动应用程序连接到Cassandra。我有两个疑问。

1)是否建议使用CassandraAutoConfiguration,即在application.properties中提供带有前缀(spring.data.cassandra。*)的所有Cassandra配置,以便我的应用程序将为我创建一个集群,或者我是否需要手动创建cluster bean,因为在CassandraAutoConfiguration中,集群bean用@ConditionalOnMissingBean注释,因此更倾向于使用spring cassandra auto配置或手动创建集群bean。

2)我的群集在Cassandra端启用了ssl。因此,当我自动配置启用了ssl的Cassandra连接时(通过设置spring.data.cassandra.ssl = true),然后为我创建了默认SSL上下文,但我需要提供我的信任库路径和信任库密码来初始化SSLContext。 data-cassandra没有为kafka提供的属性(spring.kafka.ssl.truststore-location =#信任存储文件的位置)。 spring.kafka.ssl.truststore-password =#存储信任存储文件的密码。),有没有办法提供信任库文件位置和密码来自动配置我的Cassandra配置或覆盖创建的默认SSLContext。

如果我的理解是错误的,请帮助我并纠正我。感谢。

更新

https://github.com/spring-projects/spring-boot/issues/8476

1 个答案:

答案 0 :(得分:0)

使用Spring Boot的自动配置是首选方法,但如果您需要应用更具体的配置,Boot会不受欢迎。如果没有提供其他条件bean @Bean,则会创建大多数条件bean。

如果您自己提供Cluster,那么Spring Boot的自动配置将不会提供第二个Cluster bean。

自Spring Boot 1.5以来的首选方法,如果您需要更具体的配置,则提供一个ClusterBuilderCustomizer bean,可以根据您的需要调用Cluster.Builder

您可能还想在Spring Boot's issue tracker中提交问题。特定的SSL配置是一种常见的配置用例。