I am trying to configure the security protocol of the Kafka binder. As documented in the spring-cloud-stream reference the security.protocol property should exist in the spring.cloud.stream.kafka.binder.configuration hierarchy but this configuration is not being applied.
I am getting the following warning:
**
WARN 17375 --- [ main] o.a.k.clients.consumer.ConsumerConfig : The configuration 'security' was supplied but isn't a known config.
**
My yaml snippet:
spring:
cloud:
stream:
kafka:
binder:
brokers: localhost
defaultBrokerPort: 9092
zkNodes: localhost
defaultZkPort: 2181
minPartitionCount: 2
replicationFactor: 1
autoCreateTopics: true
autoAddPartitions: true
headers: type,message_id
requiredAcks: 1
configuration:
security:
protocol: SSL
I tried to debug the loading of the properties and it looks like that this property is being split and the configuration map is something like: {"security" : {"protocol" : "SSL"}} instead of {"security.protocol" : "SSL"}.
I also tried to change the yaml file to: configuration:
security.protocol: SSL
But there was no difference.
EDIT: The Spring Cloud Stream version is Chelsea.SR2 and the Spring Boot version is 1.5.4.RELEASE.