Guard default conversion service creation
Update ConfigurationPropertiesBindingPostProcessor to ensure that the defaultConversionService is only created once. Fixes gh-1822
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user