1、Provider端启动报错
java.lang.IllegalStateException: ApplicationConfig.application == null
原配置文件
@Getter
@Setter
@Configuration
@ConfigurationProperties(prefix = "dubbo")
public class DubboConfig {
private ApplicationConfig application;
private RegistryConfig registry;
private ProtocolConfig protocol;
private ProviderConfig provider;
@Bean
public ApplicationConfig applicationConfig() {
if (application == null) {
application = new ApplicationConfig();
}
return application;
}
修改之后
@Getter
@Setter
@Configuration
public class DubboConfig {
private ApplicationConfig application;
private RegistryConfig registry;
private ProtocolConfig protocol;
private ProviderConfig provider;
@Bean
@ConfigurationProperties(prefix = "dubbo.application")
public ApplicationConfig applicationConfig() {
if (application == null) {
application = new ApplicationConfig();
}
return application;
}
由于将@ConfigurationProperties(prefix = "dubbo")直接配置到类上,spring容器注入时无法识别配置文件对于的属性;修改方法就是将@ConfigurationProperties(prefix = "dubbo.application")配置到方法@bean上就可以了。