SBFM issues with afterSingletonsInstantiated

Related to GH-2935. Ensure that afterSingletonsInstantiated is called
even when autoStartup is not enabled.
This commit is contained in:
Soby Chacko
2024-04-12 22:09:36 -04:00
parent 5fb122e5a9
commit 3298d0d3c7

View File

@@ -102,10 +102,10 @@ public class StreamsBuilderFactoryManager implements SmartLifecycle {
this.kafkaStreamsBindingInformationCatalogue.getConsumerPropertiesPerSbfb();
final List<ConsumerProperties> consumerProperties = bindingServicePropertiesPerSbfb.get(streamsBuilderFactoryBean);
final boolean autoStartupDisabledOnAtLeastOneConsumerBinding = consumerProperties.stream().anyMatch(consumerProperties1 -> !consumerProperties1.isAutoStartup());
if (streamsBuilderFactoryBean instanceof SmartInitializingSingleton) {
((SmartInitializingSingleton) streamsBuilderFactoryBean).afterSingletonsInstantiated();
}
if (!autoStartupDisabledOnAtLeastOneConsumerBinding) {
if (streamsBuilderFactoryBean instanceof SmartInitializingSingleton) {
((SmartInitializingSingleton) streamsBuilderFactoryBean).afterSingletonsInstantiated();
}
streamsBuilderFactoryBean.start();
this.kafkaStreamsRegistry.registerKafkaStreams(streamsBuilderFactoryBean);
}