Skip to content

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

@brucelwl

Description

@brucelwl

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]+") 导致程序启动失败

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions