From 2e4c2370c88ecb50a55776de990b0b615642a537 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Thu, 28 Feb 2019 16:35:27 +0100 Subject: [PATCH] GH-1621 Ensured BF is injected in MessageSource if applicable Resolves #1621 --- .../cloud/stream/binder/AbstractMessageChannelBinder.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinder.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinder.java index ebc75d709..6a8ba45d4 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinder.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/AbstractMessageChannelBinder.java @@ -26,6 +26,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.commons.logging.Log; import org.reactivestreams.Publisher; +import org.springframework.beans.factory.BeanFactoryAware; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; @@ -460,7 +461,12 @@ public abstract class AbstractMessageChannelBinder messageSource = resources.getSource(); + if (messageSource instanceof BeanFactoryAware) { +// ((BeanFactoryAware)messageSource).setBeanFactory(getApplicationContext().getBeanFactory()); + } + bindingTarget.setSource(messageSource); if (resources.getErrorInfrastructure() != null) { if (resources.getErrorInfrastructure().getErrorChannel() != null) { bindingTarget.setErrorChannel(