This is an automated email from the ASF dual-hosted git repository.
albumenj pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 31db4ac ServiceAnnotationBeanPostProcessor should be changed to
ServiceClassPostProcessor (#7667) (#7681)
31db4ac is described below
commit 31db4acfd90dd4407e23b55b89a84abdb6b21faa
Author: passer <[email protected]>
AuthorDate: Tue May 11 10:20:23 2021 +0800
ServiceAnnotationBeanPostProcessor should be changed to
ServiceClassPostProcessor (#7667) (#7681)
* ServiceAnnotationBeanPostProcessor should be changed to
ServiceClassPostProcessor (#7667)
* Avoid creating duplicate ServiceClassPostProcessor beans (#7667)
---
.../annotation/ReferenceAnnotationBeanPostProcessor.java | 2 +-
.../context/annotation/DubboComponentScanRegistrar.java | 12 ++++++------
.../spring/boot/autoconfigure/DubboAutoConfiguration.java | 2 ++
3 files changed, 9 insertions(+), 7 deletions(-)
diff --git
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/annotation/ReferenceAnnotationBeanPostProcessor.java
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/annotation/ReferenceAnnotationBeanPostProcessor.java
index 9a9dfac..bfe0dfa 100644
---
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/annotation/ReferenceAnnotationBeanPostProcessor.java
+++
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/annotation/ReferenceAnnotationBeanPostProcessor.java
@@ -184,7 +184,7 @@ public class ReferenceAnnotationBeanPostProcessor extends
AbstractAnnotationBean
if (localServiceBean) { // If @Service bean is local one
/**
* Get the @Service's BeanDefinition from {@link BeanFactory}
- * Refer to {@link
ServiceAnnotationBeanPostProcessor#buildServiceBeanDefinition}
+ * Refer to {@link
ServiceClassPostProcessor#buildServiceBeanDefinition}
*/
AbstractBeanDefinition beanDefinition = (AbstractBeanDefinition)
beanFactory.getBeanDefinition(referencedBeanName);
RuntimeBeanReference runtimeBeanReference = (RuntimeBeanReference)
beanDefinition.getPropertyValues().get("ref");
diff --git
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboComponentScanRegistrar.java
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboComponentScanRegistrar.java
index 4a711ba..c84b9c3 100644
---
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboComponentScanRegistrar.java
+++
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboComponentScanRegistrar.java
@@ -18,8 +18,8 @@ package org.apache.dubbo.config.spring.context.annotation;
import org.apache.dubbo.config.annotation.Service;
import
org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor;
-import
org.apache.dubbo.config.spring.beans.factory.annotation.ServiceAnnotationBeanPostProcessor;
+import
org.apache.dubbo.config.spring.beans.factory.annotation.ServiceClassPostProcessor;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
@@ -44,7 +44,7 @@ import static
org.springframework.beans.factory.support.BeanDefinitionBuilder.ro
* @see Service
* @see DubboComponentScan
* @see ImportBeanDefinitionRegistrar
- * @see ServiceAnnotationBeanPostProcessor
+ * @see ServiceClassPostProcessor
* @see ReferenceAnnotationBeanPostProcessor
* @since 2.5.7
*/
@@ -55,22 +55,22 @@ public class DubboComponentScanRegistrar implements
ImportBeanDefinitionRegistra
Set<String> packagesToScan = getPackagesToScan(importingClassMetadata);
- registerServiceAnnotationBeanPostProcessor(packagesToScan, registry);
+ registerServiceClassPostProcessor(packagesToScan, registry);
// @since 2.7.6 Register the common beans
registerCommonBeans(registry);
}
/**
- * Registers {@link ServiceAnnotationBeanPostProcessor}
+ * Registers {@link ServiceClassPostProcessor}
*
* @param packagesToScan packages to scan without resolving placeholders
* @param registry {@link BeanDefinitionRegistry}
* @since 2.5.8
*/
- private void registerServiceAnnotationBeanPostProcessor(Set<String>
packagesToScan, BeanDefinitionRegistry registry) {
+ private void registerServiceClassPostProcessor(Set<String> packagesToScan,
BeanDefinitionRegistry registry) {
- BeanDefinitionBuilder builder =
rootBeanDefinition(ServiceAnnotationBeanPostProcessor.class);
+ BeanDefinitionBuilder builder =
rootBeanDefinition(ServiceClassPostProcessor.class);
builder.addConstructorArgValue(packagesToScan);
builder.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
AbstractBeanDefinition beanDefinition = builder.getBeanDefinition();
diff --git
a/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfiguration.java
b/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfiguration.java
index ba668f8..97c4c41 100644
---
a/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfiguration.java
+++
b/dubbo-spring-boot/dubbo-spring-boot-compatible/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/autoconfigure/DubboAutoConfiguration.java
@@ -31,6 +31,7 @@ import
org.springframework.beans.factory.support.BeanDefinitionRegistry;
import
org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor;
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import
org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.ApplicationContext;
@@ -70,6 +71,7 @@ public class DubboAutoConfiguration implements
ApplicationContextAware, BeanDefi
*/
@ConditionalOnProperty(prefix = DUBBO_SCAN_PREFIX, name =
BASE_PACKAGES_PROPERTY_NAME)
@ConditionalOnBean(name = BASE_PACKAGES_BEAN_NAME)
+ @ConditionalOnMissingBean
@Bean
public ServiceClassPostProcessor
serviceClassPostProcessor(@Qualifier(BASE_PACKAGES_BEAN_NAME)
Set<String> packagesToScan) {