From dfc431919f3ca74ace05b1c000e81d6a32a66209 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Thu, 11 Jun 2020 17:07:14 +0200 Subject: [PATCH] GH-1979 Fix SpelConverter registration for child context Basically the code was already fixed and working for Spel properties in multi-binder configuration. However the actual code was included in a wrong block and because of it was working conditionally based on an unrelated condition. This fixes it Resolves #1979 --- .../cloud/stream/binder/DefaultBinderFactory.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java index 3eb5c6a51..bd730234a 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binder/DefaultBinderFactory.java @@ -351,8 +351,8 @@ public class DefaultBinderFactory implements BinderFactory, DisposableBean, Appl private void customizeParentChildContextRelationship(SpringApplicationBuilder applicationBuilder, ApplicationContext context) { if (context != null) { Map customizers = context.getBeansOfType(ListenerContainerCustomizer.class); - if (!CollectionUtils.isEmpty(customizers)) { - applicationBuilder.initializers(childContext -> { + applicationBuilder.initializers(childContext -> { + if (!CollectionUtils.isEmpty(customizers)) { for (Entry customizerEntry : customizers.entrySet()) { ListenerContainerCustomizer customizerWrapper = new ListenerContainerCustomizer() { @Override @@ -372,11 +372,11 @@ public class DefaultBinderFactory implements BinderFactory, DisposableBean, Appl ((GenericApplicationContext) childContext).registerBean(customizerEntry.getKey(), ListenerContainerCustomizer.class, () -> customizerWrapper); } - GenericConversionService cs = (GenericConversionService) ((GenericApplicationContext) childContext).getBeanFactory().getConversionService(); - SpelConverter spelConverter = new SpelConverter(); - cs.addConverter(spelConverter); - }); - } + } + GenericConversionService cs = (GenericConversionService) ((GenericApplicationContext) childContext).getBeanFactory().getConversionService(); + SpelConverter spelConverter = new SpelConverter(); + cs.addConverter(spelConverter); + }); } }