1、现象:
使用spring-boot-dubbo时,通过spring-dubbo.xml配置dubbo。注册中心redis。观测得知,同一个service provider在2个端口暴露。这是不符合业务需求的。(dubbo重复配置)

使用的pom依赖
<dependency>
<groupId>io.dubbo.springboot</groupId>
<artifactId>spring-boot-starter-dubbo</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<artifactId>dubbo</artifactId>
<groupId>com.alibaba</groupId>
</exclusion>
</exclusions>
</dependency>
2、排查
由于自定义了一个spring-dubbo.xml,同时在application.properties里配置了spring.dubbo.*开头的一系列配置。这样会造成spring boot自动配置一个DubboAutoConfigration,触发这个configration需要有DubboProperties配置。如果application.properties配置了key包括spring.dubbo开头的 scan\application\registry\protocol 则会默认一个暴露在20880的服务配置。
从而导致以上的问题


3、解决
知道了以上问题,就好解决了,只保留一份配置即可。我这里是把application.properties所有spring.dubbo.*开头的key都删除掉,只使用spring-dubbo.xml自定义的配置。

果然问题解决了。
888

被折叠的 条评论
为什么被折叠?



