diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/AbstractMethodAnnotationPostProcessor.java b/spring-integration-core/src/main/java/org/springframework/integration/config/AbstractMethodAnnotationPostProcessor.java index bb075afb285..dd452ba1a4b 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/AbstractMethodAnnotationPostProcessor.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/AbstractMethodAnnotationPostProcessor.java @@ -270,6 +270,7 @@ else if (reactive != null) { String endpointBeanName = generateHandlerBeanName(beanName, mergedAnnotations) .replaceFirst("\\.(handler|source)$", ""); + this.beanFactory.registerDependentBean(beanName, endpointBeanName); this.definitionRegistry.registerBeanDefinition(endpointBeanName, endpointBeanDefinition); } diff --git a/spring-integration-mqtt/src/test/java/org/springframework/integration/mqtt/ClientManagerBackToBackTests.java b/spring-integration-mqtt/src/test/java/org/springframework/integration/mqtt/ClientManagerBackToBackTests.java index d745fed94a0..8337699565b 100644 --- a/spring-integration-mqtt/src/test/java/org/springframework/integration/mqtt/ClientManagerBackToBackTests.java +++ b/spring-integration-mqtt/src/test/java/org/springframework/integration/mqtt/ClientManagerBackToBackTests.java @@ -28,6 +28,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.event.EventListener; +import org.springframework.integration.annotation.ServiceActivator; import org.springframework.integration.config.EnableIntegration; import org.springframework.integration.dsl.IntegrationFlow; import org.springframework.integration.mqtt.core.Mqttv3ClientManager; @@ -195,8 +196,9 @@ public Mqttv5ClientManager mqttv5ClientManager() { } @Bean - public IntegrationFlow mqttOutFlow(Mqttv5ClientManager mqttv5ClientManager) { - return f -> f.handle(new Mqttv5PahoMessageHandler(mqttv5ClientManager)); + @ServiceActivator(inputChannel = "mqttOutFlow.input") + public Mqttv5PahoMessageHandler mqttv5PahoMessageHandler(Mqttv5ClientManager mqttv5ClientManager) { + return new Mqttv5PahoMessageHandler(mqttv5ClientManager); } @Bean