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
This commit is contained in:
Oleg Zhurakousky
2020-06-11 17:07:14 +02:00
parent b47c124daa
commit dfc431919f

View File

@@ -351,8 +351,8 @@ public class DefaultBinderFactory implements BinderFactory, DisposableBean, Appl
private void customizeParentChildContextRelationship(SpringApplicationBuilder applicationBuilder, ApplicationContext context) {
if (context != null) {
Map<String, ListenerContainerCustomizer> customizers = context.getBeansOfType(ListenerContainerCustomizer.class);
if (!CollectionUtils.isEmpty(customizers)) {
applicationBuilder.initializers(childContext -> {
applicationBuilder.initializers(childContext -> {
if (!CollectionUtils.isEmpty(customizers)) {
for (Entry<String, ListenerContainerCustomizer> 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);
});
}
}