in dubbo-admin-server/src/main/java/org/apache/dubbo/admin/config/ConfigCenter.java [174:200]
MetaDataCollector getMetadataCollector() {
MetaDataCollector metaDataCollector = new NoOpMetadataCollector();
if (metadataUrl == null) {
if (StringUtils.isNotEmpty(metadataAddress)) {
metadataUrl = formUrl(metadataAddress, metadataGroup, metadataGroupNameSpace, username, password);
metadataUrl = metadataUrl.addParameter(CLUSTER_KEY, cluster);
}
logger.info("Admin using metadata address: " + metadataUrl);
}
if (metadataUrl != null) {
metaDataCollector = ApplicationModel.defaultModel().getExtensionLoader(MetaDataCollector.class).getExtension(metadataUrl.getProtocol());
metaDataCollector.setUrl(metadataUrl);
metaDataCollector.init();
} else {
logger.warn("you are using dubbo.registry.address, which is not recommend, please refer to: https://github.com/apache/dubbo-admin/wiki/Dubbo-Admin-configuration");
ApplicationModel applicationModel = ApplicationModel.defaultModel();
ScopeBeanFactory beanFactory = applicationModel.getBeanFactory();
MetadataReportInstance metadataReportInstance = beanFactory.registerBean(MetadataReportInstance.class);
Optional<MetadataReport> metadataReport = metadataReportInstance.getMetadataReports(true)
.values().stream().findAny();
metaDataCollector = new DubboDelegateMetadataCollector(metadataReport.get());
metaDataCollector.setUrl(registryUrl);
}
return metaDataCollector;
}