From b78dcc59fe0a2f9937c65df1134cc87e0350cb9b Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Wed, 12 Jun 2013 11:46:48 -0700 Subject: [PATCH] Make ConfClassPostPro Ordered.HIGHEST_PRECEDENCE Make ConfigurationClassPostProcessor Ordered.HIGHEST_PRECEDENCE in case several BeanDefinitionRegistryPostProcessors are registered. Issue: SPR-10645 --- .../annotation/ConfigurationClassPostProcessor.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassPostProcessor.java b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassPostProcessor.java index 5610baeaca..555e78b7fa 100644 --- a/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassPostProcessor.java +++ b/spring-context/src/main/java/org/springframework/context/annotation/ConfigurationClassPostProcessor.java @@ -87,7 +87,8 @@ import static org.springframework.context.annotation.AnnotationConfigUtils.*; * @since 3.0 */ public class ConfigurationClassPostProcessor implements BeanDefinitionRegistryPostProcessor, - ResourceLoaderAware, BeanClassLoaderAware, EnvironmentAware, ApplicationContextAware { + ResourceLoaderAware, BeanClassLoaderAware, EnvironmentAware, ApplicationContextAware, + Ordered { private static final String IMPORT_AWARE_PROCESSOR_BEAN_NAME = ConfigurationClassPostProcessor.class.getName() + ".importAwareProcessor"; @@ -374,6 +375,11 @@ public class ConfigurationClassPostProcessor implements BeanDefinitionRegistryPo } } + @Override + public int getOrder() { + return Ordered.HIGHEST_PRECEDENCE; + } + private static class ImportAwareBeanPostProcessor implements PriorityOrdered, BeanFactoryAware, BeanPostProcessor {