我正在尝试使用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。
如果我的理解是错误的,请帮助我并纠正我。感谢。
更新
答案 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配置是一种常见的配置用例。