Invalid name="com.alibaba.dubbo.config.ProtocolConfig#0"

dubbo 2.6.7
springBoot2.1.6
使用@EnableDubbo启用dubbo, 配置dubbo.protocol.xxx相关属性,不设置dubbo.protocol.id,启动应用将会抛出异常. java.lang.IllegalStateException: Invalid name=“com.alibaba.dubbo.config.ProtocolConfig#0” contains illegal character, only digit, letter, ‘-’, ‘_’ or ‘.’ is legal
原因: 如果没有指定id属性,dubbo采用Spring 工具类BeanDefinitionReaderUtils.generateBeanName(builder.getRawBeanDefinition(), registry) 生成的bean名称带有#0 , 见com.alibaba.dubbo.config.spring.context.annotation.DubboConfigBindingRegistrar resolveSingleBeanName 方法,而 AbstractConfig中的正则会对该名称验证, Pattern.compile("[\-._0-9a-zA-Z]+") 导致程序启动失败

"invalid name=\org.apache.dubbo.config.applicationconfig" 是一个无效的名称。这个错误通常是由于以下几种原因导致的: 1. 命名格式不正确:\org.apache.dubbo.config.applicationconfig 的命名格式不符合标准命名规范。在命名时应该遵循约定俗成的命名规范,如使用字母、数字和下划线组合,并以字母开头。 2. 引入了错误的配置项:\org.apache.dubbo.config.applicationconfig 可能是一种无效或不存在的配置项。在使用Dubbo的配置文件或代码中,应该确认配置项名称的正确性,并确保配置项的存在。 3. 引入了错误的外部依赖:\org.apache.dubbo.config.applicationconfig 可能是由于错误的依赖引入导致的。在使用Dubbo时,应该正确引入Dubbo的相关依赖,并确保版本的兼容性。 为了解决这个问题,我们可以采取以下步骤: 1. 检查命名:确认命名是否符合标准的命名规范,如果不符合,进行相应的命名修改。 2. 检查配置项:确认配置项名称是否正确,并查阅官方文档或相关资源,确认该配置项是否存在以及如何正确使用。 3. 检查依赖:确认所使用的Dubbo依赖是否正确引入,并与Dubbo的官方文档或相关资源进行比对,确保版本的兼容性。 总之,要解决"invalid name=\org.apache.dubbo.config.applicationconfig"的问题,我们需要仔细检查命名、配置项和依赖,确保它们的正确性和一致性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静谧之心

感谢您的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值