apache/dubbo

ServiceDiscoveryRegistryDirectory中overrideQueryMap作用

Open

#12.337 geöffnet am 17. Mai 2023

Auf GitHub ansehen
 (6 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Java (26.453 Forks)batch import
help wantedtype/discussion

Repository-Metriken

Stars
 (41.524 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 7T 14h) (20 gemergte PRs in 30 T)

Beschreibung

在进行消费端应用级配置刷新时候,发现下面代码中overrideQueryMap中的条件一直没进入,最终每次都会被 new OverrideInstanceAddressURL(url) 中的配置 this.overrideParams = URLParam.parse("");刷新为空,导致配置中心配置变更了也没效果,看代码理解的overrideQueryMap应该是有用的,现在看好像没发现有值,这是为什么?

      if (referenceConfigurationListener != null) {
          providerUrl = overrideWithConfigurators(referenceConfigurationListener.getConfigurators(), providerUrl);
      } 

private InstanceAddressURL overrideWithConfigurators(List<Configurator> configurators, InstanceAddressURL url) {
        if (CollectionUtils.isNotEmpty(configurators)) {
            // wrap url
            OverrideInstanceAddressURL overrideInstanceAddressURL = new OverrideInstanceAddressURL(url);
            if (overrideQueryMap != null) {
                // override app-level configs
                overrideInstanceAddressURL = (OverrideInstanceAddressURL) overrideInstanceAddressURL.addParameters(overrideQueryMap);
            }
            for (Configurator configurator : configurators) {
                overrideInstanceAddressURL = (OverrideInstanceAddressURL) configurator.configure(overrideInstanceAddressURL);
            }
            return overrideInstanceAddressURL;
        }
        return url;
    }

Contributor Guide