dubbo Duplicate consumer configs或Duplicate provider configs问题解决

新项目中使用了2.7.3 的版本

报错如下

Caused by: java.lang.IllegalStateException: Duplicate provider configs: <dubbo:provider timeout="3000" retries="0" filter="providerTraceFilter" dynamic="true" version="1.0.0" register="true" group="zybprod" deprecated="false" id="org.apache.dubbo.config.ProviderConfig" prefix="dubbo.provider" valid="true" /> and <dubbo:provider path="dev1" contextpath="dev1" dynamic="true" register="true" deprecated="false" prefix="dubbo.provider" valid="true" />
	at org.apache.dubbo.config.spring.ServiceBean.afterPropertiesSet(ServiceBean.java:141)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792)
	... 65 common frames omitted

分析原因:
其实Duplicate provider configs 提示的很明确了,关键是要找出重复的配置在哪里

  1. xml中有一个provider的配置
    <dubbo:provider filter="providerTraceFilter" version="1.0.0"
                    group="group11" retries="0"
                    timeout="3000"/>
  1. 由于项目是springboot启动的,加了@EnableDubbo(scanBasePackages = "com.XX.XXX")
    EnableDubbo 的注解如下,其中包含了@EnableDubboConfig自动配置,当在application.properties 中或系统参数中配置了dubbo的配置时就会生成dubbo对应的配置
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
@EnableDubboConfig
@DubboComponentScan
public @interface EnableDubbo {

我是开发时配置启动参数,所以会有个一个provider的配置
在这里插入图片描述

这样项目中就有两个dubbo provider的配置,找到重复的点就好解决了。
将xml中的配置删除掉,在application.properties文件中进行配置provider

dubbo.provider.filter=providerTraceFilter
dubbo.provider.version=1.0.0
dubbo.provider.group=group11
dubbo.provider.retries=0
dubbo.provider.timeout=3000

这样即使vm 选项中配置了-Ddubbo.provider.path=dev1 启动也不会报配置重复的问题了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值