Commit adffb7a3 authored by Phillip Webb's avatar Phillip Webb

Guard default conversion service creation

Update ConfigurationPropertiesBindingPostProcessor to ensure that
the defaultConversionService is only created once.

Fixes gh-1822
parent edaed415
...@@ -86,12 +86,10 @@ public class ConfigurationPropertiesBindingPostProcessor implements BeanPostProc ...@@ -86,12 +86,10 @@ public class ConfigurationPropertiesBindingPostProcessor implements BeanPostProc
private ConversionService conversionService; private ConversionService conversionService;
private final DefaultConversionService defaultConversionService = new DefaultConversionService(); private DefaultConversionService defaultConversionService;
private BeanFactory beanFactory; private BeanFactory beanFactory;
private final boolean initialized = false;
private ResourceLoader resourceLoader = new DefaultResourceLoader(); private ResourceLoader resourceLoader = new DefaultResourceLoader();
private Environment environment = new StandardEnvironment(); private Environment environment = new StandardEnvironment();
...@@ -341,11 +339,13 @@ public class ConfigurationPropertiesBindingPostProcessor implements BeanPostProc ...@@ -341,11 +339,13 @@ public class ConfigurationPropertiesBindingPostProcessor implements BeanPostProc
} }
private ConversionService getDefaultConversionService() { private ConversionService getDefaultConversionService() {
if (!this.initialized) { if (this.defaultConversionService == null) {
DefaultConversionService conversionService = new DefaultConversionService();
for (Converter<?, ?> converter : ((ListableBeanFactory) this.beanFactory) for (Converter<?, ?> converter : ((ListableBeanFactory) this.beanFactory)
.getBeansOfType(Converter.class, false, false).values()) { .getBeansOfType(Converter.class, false, false).values()) {
this.defaultConversionService.addConverter(converter); conversionService.addConverter(converter);
} }
this.defaultConversionService = conversionService;
} }
return this.defaultConversionService; return this.defaultConversionService;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment