solution:
private void useRegistryForConfigIfNecessary() {
registries.stream().filter(RegistryConfig::isZookeeperProtocol).findFirst().ifPresent(rc
-> {
// we use the loading status of DynamicConfiguration to decide
whether ConfigCenter has been initiated.
Environment.getInstance().getDynamicConfiguration().orElseGet(() ->
{
ConfigManager configManager = ConfigManager.getInstance();
ConfigCenterConfig cc =
configManager.getConfigCenter().orElse(new ConfigCenterConfig());
if (rc.getParameters() != null) {
Map<String, String> configParams = cc.getParameters() ==
null ? new HashMap<>() : cc.getParameters();
configParams.putAll(rc.getParameters());
cc.setParameters(configParams);
}
if (cc.getParameters() != null) {
cc.getParameters().put(org.apache.dubbo.remoting.Constants.CLIENT_KEY,rc.getClient());
}
//
cc.getParameters().put(org.apache.dubbo.remoting.Constants.CLIENT_KEY,rc.getClient());
cc.setProtocol(rc.getProtocol());
cc.setAddress(rc.getAddress());
cc.setUsername(rc.getUsername());
cc.setPassword(rc.getPassword());
cc.setHighestPriority(false);
setConfigCenter(cc);
startConfigCenter();
return null;
});
});
}
[ Full content available at: https://github.com/apache/dubbo/issues/5543 ]
This message was relayed via gitbox.apache.org for
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]