dubbo
dubbo copied to clipboard
ApplicationConfig 提前加载导致的 org.apache.dubbo.config.ApplicationConfig#0: defined in null
求问题验证解决思路
现象所在 version:2.7.15
在2.7.3中使用如下方法注入bean是可以成功的
@Configuration
@RequiredArgsConstructor
@EnableConfigurationProperties({A.class, B.class})
public class DubboBaseAutoConfig implements InitializingBean{
@Bean
@Primary
@ConditionalOnMissingBean(ApplicationConfig.class)
public ApplicationConfig applicationConfig()
然而在2.7.15中会出现这样的错误
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 3 of constructor in com.demo.web.impl.ServiceImpl required a single bean, but 2 were found:
- applicationConfig: defined by method 'applicationConfig' in class path resource [com/demo/starter/dubbo/support/DubboBaseAutoConfig.class]
- org.apache.dubbo.config.ApplicationConfig#0: defined in null
怀疑是提前实例化导致在
org.springframework.context.support.AbstractApplicationContext#finishBeanFactoryInitialization
实例化的时候,存在两个org.apache.dubbo.config.ApplicationConfig#0导致的问题
想找个方法验证猜想并解决问题,却没有什么头绪。