dubbo从2.7.19升级到3.1.7,报启动失败, component required a bean of type 'org.apache.dubbo.config.ApplicationConfig' that could not be found; 恢复到2.7.19版本又可以正常启动;求教各位大神如何解决
Q
[apache/dubbo]springboot+dubbo项目,dubbo从2.7.19升级至3.1.7后启动报错,找不到ApplicationConfig类
6
A
回答
4
项目中哪里注入了ApplicationConfig吗 version:2.7.19 ApplicationConfig会默认给Spring管理
5
引用到的地方挺多的,都是类似这样引用的;
4
spring配置文件中的dubbo application这个标签还在么
6
在的,是不是在dubbo3.x版本不能像2.7.19里面那么使用才导致的问题? 我是个程序员小白,不知道应该怎么去用他,项目中好多地方用到了dubbo的原生类,现在升了版本都不能用 ,还请大神指导一下
5
2
注入 ApplicationConfig 的行为能不能删除,这个是 Dubbo 内置的配置对象,如果不是通过 Spring 注入的,不应该通过 Resource 去获取
5
getApplicationConfig
getBean(ApplicationModel.class).getCurrentConfig();
getProtocolConfiggetBean(ConfigManager.class).getProtocol(DUBBO_PROTOCOL);
4
1.代码变更如图 除了获取ConfigManager,也可以注入DubboConfigurationProperties获取dubbo的config 2.兼容方式,可以自己写个类实现BeanDefinitionRegistryPostProcessor,ApplicationContextAware获取DubboConfigurationProperties后再获取ApplicationConfig注入到容器中