apache / dubbo-spring-boot-project

Spring Boot Project for Apache Dubbo
https://dubbo.apache.org
Apache License 2.0
5.41k stars 1.88k forks source link

application.yml中配置dubbo.scan.base-packages错误导致无法暴露服务问题 #247

Closed liunancun closed 5 years ago

liunancun commented 6 years ago

在spring-configuration-metadata.json文件中定义的是dubbo.scan.base-packages { "sourceType": "com.alibaba.boot.dubbo.autoconfigure.DubboScanProperties", "name": "dubbo.scan.base-packages", "description": "The basePackages to scan , the multiple-value is delimited by comma\n\n @see EnableDubbo#scanBasePackages()", "type": "java.util.Set" }

实际在代码中取值的时候用的又是dubbo.scan.basePackages Set packagesToScan = environment.getProperty(BASE_PACKAGES_PROPERTY_NAME, Set.class, emptySet()); public static final String BASE_PACKAGES_PROPERTY_NAME = DUBBO_SCAN_PREFIX + PROPERTY_NAME_SEPARATOR + "basePackages";

导致无法正确扫描,无法保留服务。

laurelcc commented 6 years ago

yml文件配置确实会出问题,我使用同样的参数配置成properties格式后,服务就正常了

cjp1016 commented 6 years ago

确实是的,源代码的取值和metadata.json不一致

lfz757077613 commented 6 years ago

我也发现了,这样就可以了 @EnableDubbo(scanBasePackages = "XXX")

mercyblitz commented 5 years ago

Please add Dubbo 2.6.5 in order to override indirectly dependencies:

<dependency>
    <groupId>com.alibaba.boot</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    <version>0.2.0</version>
</dependency>

<!-- Dubbo -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.6.5</version>
</dependency>
<!-- Spring Context Extras -->
<dependency>
    <groupId>com.alibaba.spring</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>1.0.2</version>
</dependency>

There was a legacy issue in Dubbo.