Skip to content

Commit

Permalink
Revert "Enhance the precedence of @NacosPropertySource process nacos-…
Browse files Browse the repository at this point in the history
…group#70"

This reverts commit 0e11311.
  • Loading branch information
mercyblitz committed Dec 6, 2018
1 parent 84ab5e9 commit 5ac6e99
Show file tree
Hide file tree
Showing 5 changed files with 13 additions and 68 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,6 @@
*/
package com.alibaba.nacos.spring.context.annotation;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
Expand All @@ -29,12 +26,7 @@
import org.springframework.core.env.Environment;
import org.springframework.core.type.AnnotationMetadata;

import static com.alibaba.nacos.spring.util.NacosBeanUtils.GLOBAL_NACOS_PROPERTIES_BEAN_NAME;
import static com.alibaba.nacos.spring.util.NacosBeanUtils.invokeNacosPropertySourcePostProcessor;
import static com.alibaba.nacos.spring.util.NacosBeanUtils.registerGlobalNacosProperties;
import static com.alibaba.nacos.spring.util.NacosBeanUtils.registerNacosCommonBeans;
import static com.alibaba.nacos.spring.util.NacosBeanUtils.registerNacosConfigBeans;
import static com.alibaba.nacos.spring.util.NacosBeanUtils.registerNacosDiscoveryBeans;
import static com.alibaba.nacos.spring.util.NacosBeanUtils.*;

/**
* Nacos Properties {@link ImportBeanDefinitionRegistrar BeanDefinition Registrar}
Expand All @@ -43,12 +35,10 @@
* @see EnableNacos
* @since 0.1.0
*/
public class NacosBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar, EnvironmentAware, BeanFactoryAware {
public class NacosBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar, EnvironmentAware {

private Environment environment;

private BeanFactory beanFactory;

@Override
public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {
BeanDefinition annotationProcessor = BeanDefinitionBuilder.genericBeanDefinition(
Expand All @@ -60,11 +50,8 @@ public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, B

// Register Global Nacos Properties Bean
registerGlobalNacosProperties(attributes, registry, environment, GLOBAL_NACOS_PROPERTIES_BEAN_NAME);
// Register Nacos Annotation Beans

registerNacosAnnotationBeans(registry);
// Invoke NacosPropertySourcePostProcessor immediately
// in order to enhance the precedence of @NacosPropertySource process
invokeNacosPropertySourcePostProcessor(beanFactory);
}

@Override
Expand All @@ -77,9 +64,4 @@ public void registerNacosAnnotationBeans(BeanDefinitionRegistry registry) {
registerNacosConfigBeans(registry, environment);
registerNacosDiscoveryBeans(registry);
}

@Override
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
this.beanFactory = beanFactory;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@
package com.alibaba.nacos.spring.context.annotation.config;

import com.alibaba.nacos.spring.util.NacosBeanUtils;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.BeanFactoryAware;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.ImportBeanDefinitionRegistrar;
Expand All @@ -29,11 +25,7 @@
import org.springframework.core.env.PropertyResolver;
import org.springframework.core.type.AnnotationMetadata;

import static com.alibaba.nacos.spring.util.NacosBeanUtils.CONFIG_GLOBAL_NACOS_PROPERTIES_BEAN_NAME;
import static com.alibaba.nacos.spring.util.NacosBeanUtils.invokeNacosPropertySourcePostProcessor;
import static com.alibaba.nacos.spring.util.NacosBeanUtils.registerGlobalNacosProperties;
import static com.alibaba.nacos.spring.util.NacosBeanUtils.registerNacosCommonBeans;
import static com.alibaba.nacos.spring.util.NacosBeanUtils.registerNacosConfigBeans;
import static com.alibaba.nacos.spring.util.NacosBeanUtils.*;
import static org.springframework.core.annotation.AnnotationAttributes.fromMap;

/**
Expand All @@ -46,13 +38,10 @@
* @see NacosBeanUtils#registerNacosConfigBeans(BeanDefinitionRegistry, Environment)
* @since 0.1.0
*/
public class NacosConfigBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar, EnvironmentAware,
BeanFactoryAware {
public class NacosConfigBeanDefinitionRegistrar implements ImportBeanDefinitionRegistrar, EnvironmentAware {

private Environment environment;

private BeanFactory beanFactory;

@Override
public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) {
AnnotationAttributes attributes = fromMap(metadata.getAnnotationAttributes(EnableNacosConfig.class.getName()));
Expand All @@ -62,18 +51,10 @@ public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionR
registerNacosCommonBeans(registry);
// Register Nacos Config Beans
registerNacosConfigBeans(registry, environment);
// Invoke NacosPropertySourcePostProcessor immediately
// in order to enhance the precedence of @NacosPropertySource process
invokeNacosPropertySourcePostProcessor(beanFactory);
}

@Override
public void setEnvironment(Environment environment) {
this.environment = environment;
}

@Override
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
this.beanFactory = beanFactory;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,11 @@
import com.alibaba.nacos.spring.beans.factory.annotation.ConfigServiceBeanBuilder;
import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySources;
import com.alibaba.nacos.spring.context.config.xml.NacosPropertySourceXmlBeanDefinition;

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.ConfigurationClassPostProcessor;
Expand All @@ -39,10 +39,8 @@

import java.util.Collection;
import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import static com.alibaba.nacos.spring.util.NacosBeanUtils.getConfigServiceBeanBuilder;
import static com.alibaba.nacos.spring.util.NacosUtils.DEFAULT_STRING_ATTRIBUTE_VALUE;
Expand All @@ -63,21 +61,24 @@
* @see BeanDefinitionRegistryPostProcessor
* @since 0.1.0
*/
public class NacosPropertySourcePostProcessor implements BeanFactoryPostProcessor, EnvironmentAware, Ordered {
public class NacosPropertySourcePostProcessor implements BeanDefinitionRegistryPostProcessor, BeanFactoryPostProcessor,
EnvironmentAware, Ordered {

/**
* The bean name of {@link NacosPropertySourcePostProcessor}
*/
public static final String BEAN_NAME = "nacosPropertySourcePostProcessor";

private final Set<String> processedBeanNames = new LinkedHashSet<String>();

private ConfigurableEnvironment environment;

private Collection<AbstractNacosPropertySourceBuilder> nacosPropertySourceBuilders;

private ConfigServiceBeanBuilder configServiceBeanBuilder;

@Override
public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {
}

@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {

Expand All @@ -94,10 +95,6 @@ public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)

private void processPropertySource(String beanName, ConfigurableListableBeanFactory beanFactory) {

if (processedBeanNames.contains(beanName)) { // If processed , return immediately.
return;
}

BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName);
// Build multiple instance if possible
List<NacosPropertySource> nacosPropertySources = buildNacosPropertySources(beanName, beanDefinition);
Expand All @@ -108,8 +105,6 @@ private void processPropertySource(String beanName, ConfigurableListableBeanFact
addListenerIfAutoRefreshed(nacosPropertySource);
}

processedBeanNames.add(beanName);

}

private List<NacosPropertySource> buildNacosPropertySources(String beanName, BeanDefinition beanDefinition) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,11 @@
import com.alibaba.nacos.spring.factory.CacheableEventPublishingNacosServiceFactory;
import com.alibaba.nacos.spring.factory.NacosServiceFactory;
import com.alibaba.spring.util.BeanUtils;

import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.ListableBeanFactory;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.SingletonBeanRegistry;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
Expand Down Expand Up @@ -336,17 +334,6 @@ public static void registerNacosConfigBeans(BeanDefinitionRegistry registry, Env
registerLoggingNacosConfigMetadataEventListener(registry);
}

/**
* Invokes {@link NacosPropertySourcePostProcessor}
*
* @param beanFactory {@link BeanFactory}
*/
public static void invokeNacosPropertySourcePostProcessor(BeanFactory beanFactory) {
NacosPropertySourcePostProcessor postProcessor =
beanFactory.getBean(NacosPropertySourcePostProcessor.BEAN_NAME, NacosPropertySourcePostProcessor.class);
postProcessor.postProcessBeanFactory((ConfigurableListableBeanFactory) beanFactory);
}

/**
* Register {@link LoggingNacosConfigMetadataEventListener} Bean
*
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
<sonar.jacoco.itReportPath>${project.basedir}/../test/target/jacoco-it.exec</sonar.jacoco.itReportPath>
<sonar.exclusions>file:**/generated-sources/**,**/test/**</sonar.exclusions>
<!-- Nacos -->
<nacos.version>0.5.0</nacos.version>
<nacos.version>0.2.1-RC1</nacos.version>
<!-- Spring -->
<spring.framework.version>3.2.18.RELEASE</spring.framework.version>
<!-- Servlet -->
Expand Down

0 comments on commit 5ac6e99

Please sign in to comment.