我使用Spring Boot 1.5.6.RELEASE,Spring Cloud Config 1.3.2.RELEASE和Spring Cloud Starter Bus(Kafka )1.2.0.RELEASE,而Kafka版本是0.10.1.1。我試圖將其配置爲使用兩個啓用了SSL的經紀人,但我最終得到看起來像這樣的警告信息的重複序列(每個經紀人):如何爲spring-cloud-starter-bus-kafka提供SSL配置1.2.0.RELEASE
Bootstrap broker broker1:9993 disconnected
Bootstrap broker broker2:9993 disconnected
在我的配置,我有(只是在這裏包含相關部分):
spring:
cloud:
stream:
kafka:
binder:
zkNodes: zkhost1:2181,zkhost2:2181
brokers: broker1:9993,broker2:9993
configuration:
security.protocol: SSL
ssl.enabled.protocols: TLSv1.1,TLSv1.2
ssl.endpoint.identification.algorithm: HTTPS
然而,當ProducerConfig和ConsumerConfig吐出自己的配置值,他們都表示:
security.protocol = PLAINTEXT
ssl.enabled.protocols = [TLSv1.2, TLSv1.1, TLSv1]
ssl.endpoint.identification.algorithm = null
而且,我得到的以下警告消息:
The configuration 'key.deserializer' was supplied but isn't a known config.
The configuration 'value.deserializer' was supplied but isn't a known config.
The configuration 'ssl' was supplied but isn't a known config.
The configuration 'security' was supplied but isn't a known config.
我將需要添加配置的信任庫,密鑰庫,和他們的密碼和存儲類型,我也想知道如何提供那些沒有硬編碼他們在yaml配置。我首選的方法是用jvm屬性填充這些配置屬性。
任何想法我做錯了什麼?
嘗試各種各樣的事情後,下面是一個有趣的更新。如果我使用@EnableKafkaStreams創建了一個@Configuration類,我可以創建一個StreamsConfig,其中包含按指定配置的所有各種屬性,但是這會創建一個新的獨立的生產者和消費者。春季巴士卡夫卡生產者和消費者仍未配置超出默認值。