Reputation: 834
I'm trying to add a producer configuration to my project, using Spring Integration and Kafka underneath.
Since I didn't find anywhere to put it, I thought I should add it in my application.properties under:
spring.cloud.stream.kafka.bindings.output.producer.configuration
However, I couldn't compile the code using any the following formats:
spring.cloud.stream.kafka.bindings.output.producer.configuration=request.timeout.ms=100000
spring.cloud.stream.kafka.bindings.output.producer.configuration={'request.timeout.ms':'100000'}
spring.cloud.stream.kafka.bindings.output.producer.configuration={"request.timeout.ms":"100000"}
spring.cloud.stream.kafka.bindings.output.producer.configuration=request.timeout.ms:100000
I'm always getting this error:
Binding to target org.springframework.cloud.stream.binder.kafka.KafkaExtendedBindingProperties@104392ba failed:
Property: spring.cloud.stream.kafka.bindings[output].producer.configuration
Value: request.timeout.ms:100000
Reason: Failed to convert property value of type 'java.lang.String' to required type 'java.util.Map' for property 'bindings[output].producer.configuration'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'java.util.Map' for property 'configuration': no matching editors or conversion strategy found
Any idea how to implement this configuration to the producers?
Upvotes: 0
Views: 701
Reputation: 20840
You should use in the following way :
spring.cloud.stream.kafka.bindings.output.producer.configuration.request.timeout.ms=100000
Configuration name should be followed by
spring.cloud.stream.kafka.bindings.<binding name>.producer.configuration
prefix
In this way, you can add any number of configurations.
Upvotes: 1