diff --git a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/config/DubboConfigEarlyRegistrationPostProcessor.java b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/config/DubboConfigEarlyRegistrationPostProcessor.java index 4ce9e3e0ef0..7160eedbfe7 100644 --- a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/config/DubboConfigEarlyRegistrationPostProcessor.java +++ b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/config/DubboConfigEarlyRegistrationPostProcessor.java @@ -102,6 +102,8 @@ private DefaultListableBeanFactory unwrap(Object registry) { class DubboConfigEarlyInitializationPostProcessor extends GenericBeanPostProcessorAdapter { + private boolean registeredCommonAnnotationBeanPostProcessor = false; + protected void processBeforeInitialization(AbstractConfig config, String beanName) throws BeansException { if (beanFactory == null) { if (logger.isErrorEnabled()) { @@ -127,8 +129,12 @@ protected void processBeforeInitialization(AbstractConfig config, String beanNam * @return if registered, return true, or false */ private boolean hasRegisteredCommonAnnotationBeanPostProcessor() { + if (registeredCommonAnnotationBeanPostProcessor) { + return true; + } for (BeanPostProcessor beanPostProcessor : beanFactory.getBeanPostProcessors()) { if (CommonAnnotationBeanPostProcessor.class.equals(beanPostProcessor.getClass())) { + this.registeredCommonAnnotationBeanPostProcessor = true; return true; } }