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]

Reply via email to