-
Notifications
You must be signed in to change notification settings - Fork 41.5k
Closed
Description
We have a Spring Boot app configured with @EnableKafka
and multiple instances of ConcurrentKafkaListenerContainerFactory
to consume from different topics that require different deserializers.
With this configuration application startup fails with message
Error creating bean with name 'kafkaListenerContainerFactory' defined in class path resource [org/springframework/boot/autoconfigure/kafka/KafkaAnnotationDrivenConfiguration.class]: Unsatisfied dependency expressed through method 'kafkaListenerContainerFactory' parameter 1; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.kafka.core.ConsumerFactory<java.lang.Object, java.lang.Object>' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {}
KafkaAutoConfiguration
attempts to create a ConcurrentKafkaListenerContainerFactory
bean due to the condition @ConditionalOnMissingBean(name = "kafkaListenerContainerFactory")
. Our configuration does not have a bean with this name hence the error.
Should the condition not check a bean exists with type ConcurrentKafkaListenerContainerFactory
rather than a specific bean name? It would then backoff in a scenario like ours where we have multiple beans of this type defined?
Metadata
Metadata
Assignees
Labels
type: bugA general bugA general bug