2017-03-02 63 views
0

我試圖從我的Spring啓動應用程序使用spring-boot-data-cassandra連接到Cassandra。我有兩個疑問。如何使用CassandraAutoConfiguration在spring引導應用程序和cassandra之間配置ssl?

1)是否推薦使用CassandraAutoConfiguration,即通過提供前綴爲(spring.data.cassandra。*)的application.properties中的所有Cassandra配置,以便我的應用程序將爲我創建一個集羣,或者是否需要手動創建集羣bean,因爲在CassandraAutoConfiguration集羣bean中使用@ConditionalOnMissingBean註釋,所以哪一個更適合使用spring cassandra自動配置或手動創建集羣bean。

2)我的羣集在Cassandra端使用ssl啓用。因此,當我使用ssl啓用(通過設置spring.data.cassandra.ssl = true)自動配置Cassandra連接時,將爲我創建默認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

回答

0

使用Spring Boot的自動配置是首選的方法,但啓動出去自己的方式,如果你需要申請一個更具體的結構。如果沒有其他人提供@Bean,則會創建大多數有條件的bean。

如果您自己提供Cluster,則Spring Boot的自動配置將不會提供第二個Cluster bean。

自從Spring Boot 1.5以來,如果您需要更具體的配置,首選方法是提供一個ClusterBuilderCustomizer bean,該bean被調用以根據需要自定義Cluster.Builder

您可能還想在Spring Boot's issue tracker中提出問題。特定的SSL配置是一種常見的配置用例。

相關問題