Refine ConfigurationClassPostProcessor behavior in native images
This commit refines ConfigurationClassPostProcessor behavior in native images by skipping configuration classes enhancement instead of raising an error. See spring-projects-experimental/spring-graalvm-native#248 for more details. Closes gh-26236
This commit is contained in:
parent
194cebd730
commit
e87e03c539
|
|
@ -427,15 +427,11 @@ public class ConfigurationClassPostProcessor implements BeanDefinitionRegistryPo
|
||||||
configBeanDefs.put(beanName, (AbstractBeanDefinition) beanDef);
|
configBeanDefs.put(beanName, (AbstractBeanDefinition) beanDef);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (configBeanDefs.isEmpty()) {
|
if (configBeanDefs.isEmpty() || IN_NATIVE_IMAGE) {
|
||||||
// nothing to enhance -> return immediately
|
// nothing to enhance -> return immediately
|
||||||
enhanceConfigClasses.end();
|
enhanceConfigClasses.end();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (IN_NATIVE_IMAGE) {
|
|
||||||
throw new BeanDefinitionStoreException("@Configuration classes need to be marked as " +
|
|
||||||
"proxyBeanMethods=false. Found: " + configBeanDefs.keySet());
|
|
||||||
}
|
|
||||||
|
|
||||||
ConfigurationClassEnhancer enhancer = new ConfigurationClassEnhancer();
|
ConfigurationClassEnhancer enhancer = new ConfigurationClassEnhancer();
|
||||||
for (Map.Entry<String, AbstractBeanDefinition> entry : configBeanDefs.entrySet()) {
|
for (Map.Entry<String, AbstractBeanDefinition> entry : configBeanDefs.entrySet()) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue