I would expect that that the specific configuration added for the consumer in the function2 binding, would apply only to that binding.
However, in reality the observed behaviour while debugging is that the functions are initialised alphabetically and when the following line is executed during function2 initialisation:
The streamConfigGlobalProperties bean is updated with the additional configuration specific to function2; so when function3 is initialised the extra configuration from function2 is carried over.
Version of the framework
Spring Boot 2.5.1
Spring Cloud 2020.0.3
Given an application with multiple functions using Kafka Streams Binder:
I would expect that that the specific configuration added for the consumer in the function2 binding, would apply only to that binding.
However, in reality the observed behaviour while debugging is that the functions are initialised alphabetically and when the following line is executed during function2 initialisation:
https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/blob/a8c948a6b25699abfdededc42cf371970bdf04e4/spring-cloud-stream-binder-kafka-streams/src/main/java/org/springframework/cloud/stream/binder/kafka/streams/AbstractKafkaStreamsBinderProcessor.java#L274
The streamConfigGlobalProperties bean is updated with the additional configuration specific to function2; so when function3 is initialised the extra configuration from function2 is carried over.
Version of the framework Spring Boot 2.5.1 Spring Cloud 2020.0.3