apache/dubbo

ServiceDiscoveryRegistryDirectory中overrideQueryMap作用

Open

#12,337 创建于 2023年5月17日

在 GitHub 查看
 (6 评论) (0 反应) (0 负责人)Java (26,453 fork)batch import
help wantedtype/discussion

仓库指标

Star
 (41,524 star)
PR 合并指标
 (平均合并 7天 14小时) (30 天内合并 20 个 PR)

描述

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

贡献者指南