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
private ConversionService conversionService;
private final DefaultConversionService defaultConversionService = new DefaultConversionService();
private DefaultConversionService defaultConversionService;
private BeanFactory beanFactory;
private final boolean initialized = false;
private ResourceLoader resourceLoader = new DefaultResourceLoader();
private Environment environment = new StandardEnvironment();
......@@ -341,11 +339,13 @@ public class ConfigurationPropertiesBindingPostProcessor implements BeanPostProc
}
private ConversionService getDefaultConversionService() {
if (!this.initialized) {
if (this.defaultConversionService == null) {
DefaultConversionService conversionService = new DefaultConversionService();
for (Converter<?, ?> converter : ((ListableBeanFactory) this.beanFactory)
.getBeansOfType(Converter.class, false, false).values()) {
this.defaultConversionService.addConverter(converter);
conversionService.addConverter(converter);
}
this.defaultConversionService = conversionService;
}
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