From ed9cfab3b4b155d9939d02c24ab488dab010641f Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Mon, 12 Mar 2018 08:04:30 -0400 Subject: [PATCH] GH-1297 Fixed BindingServiceProperties default binding Fixed BindingServiceProperties default binding to accept SpelConverter Resolves #1297 --- .../cloud/stream/config/BindingServiceProperties.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java index 39cd2a5b9..e79e824fd 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceProperties.java @@ -34,6 +34,8 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.convert.ConversionService; +import org.springframework.core.convert.converter.Converter; +import org.springframework.core.convert.support.GenericConversionService; import org.springframework.core.env.ConfigurableEnvironment; import org.springframework.integration.support.utils.IntegrationUtils; import org.springframework.util.Assert; @@ -158,6 +160,12 @@ public class BindingServiceProperties implements ApplicationContextAware, Initia public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = (ConfigurableApplicationContext) applicationContext; + GenericConversionService cs = (GenericConversionService) IntegrationUtils.getConversionService(this.applicationContext.getBeanFactory()); + if (this.applicationContext.containsBean("spelConverter")) { + Converter converter = (Converter) this.applicationContext.getBean("spelConverter"); + cs.addConverter(converter); + } + if (this.applicationContext.getEnvironment() instanceof ConfigurableEnvironment) { // override the bindings store with the environment-initializing version if in // a Spring context