[3.0] ServiceAnnotationBeanPostProcessor should be changed to ServiceClassPostProcessor (#7836)
This commit is contained in:
parent
97aec3671e
commit
48ba293ef3
|
|
@ -20,6 +20,7 @@ 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;
|
||||
|
|
@ -55,22 +56,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();
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue