apache/dubbo

ServiceDiscoveryRegistryDirectory中overrideQueryMap作用

Open

#12 337 ouverte le 17 mai 2023

Voir sur GitHub
 (6 commentaires) (0 réactions) (0 assignés)Java (26 453 forks)batch import
help wantedtype/discussion

Métriques du dépôt

Stars
 (41 524 stars)
Métriques de merge PR
 (Merge moyen 7j 14h) (20 PRs mergées en 30 j)

Description

在进行消费端应用级配置刷新时候,发现下面代码中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;
    }

Guide contributeur