See gh-35631
This commit is contained in:
Sam Brannen
2025-10-15 12:48:52 +02:00
parent 1612b7c5db
commit a96558c965
3 changed files with 27 additions and 40 deletions
@@ -117,13 +117,7 @@ class ConfigurationClassBeanDefinitionReader {
public void loadBeanDefinitions(Set<ConfigurationClass> configurationModel) {
TrackedConditionEvaluator trackedConditionEvaluator = new TrackedConditionEvaluator();
for (ConfigurationClass configClass : configurationModel) {
try {
loadBeanDefinitionsForConfigurationClass(configClass, trackedConditionEvaluator);
}
catch (Exception ex) {
throw new IllegalStateException("Failed to load bean definitions for configuration class '" +
configClass.getMetadata().getClassName() + "'", ex);
}
loadBeanDefinitionsForConfigurationClass(configClass, trackedConditionEvaluator);
}
}
@@ -163,9 +157,17 @@ class ConfigurationClassBeanDefinitionReader {
ScopeMetadata scopeMetadata = scopeMetadataResolver.resolveScopeMetadata(configBeanDef);
configBeanDef.setScope(scopeMetadata.getScopeName());
String configBeanName = this.importBeanNameGenerator.generateBeanName(configBeanDef, this.registry);
AnnotationConfigUtils.processCommonDefinitionAnnotations(configBeanDef, metadata);
String configBeanName;
try {
configBeanName = this.importBeanNameGenerator.generateBeanName(configBeanDef, this.registry);
}
catch (IllegalArgumentException ex) {
throw new IllegalStateException("Failed to generate bean name for imported class '" +
configClass.getMetadata().getClassName() + "'", ex);
}
AnnotationConfigUtils.processCommonDefinitionAnnotations(configBeanDef, metadata);
BeanDefinitionHolder definitionHolder = new BeanDefinitionHolder(configBeanDef, configBeanName);
definitionHolder = AnnotationConfigUtils.applyScopedProxyMode(scopeMetadata, definitionHolder, this.registry);
this.registry.registerBeanDefinition(definitionHolder.getBeanName(), definitionHolder.getBeanDefinition());