public static synchronized Integer refresh()

in appactive-java-client/client-bridge/client-bridge-rpc-springcloud/client-bridge-rpc-springcloud-common/src/main/java/io/appactive/rpc/springcloud/common/consumer/ConsumerRouter.java [90:114]


    public static synchronized Integer refresh(List<Server> servers){
        Integer changed = 0;
        if (CollectionUtils.isEmpty(servers)){
            return changed;
        }
        Server oneServer = servers.get(0);
        String appName = oneServer.getMetaInfo().getAppName();
        String version = serverMeta.getMetaMap(oneServer).get(RPCConstant.SPRING_CLOUD_SERVICE_META_VERSION);

        String metaMapValue = addressFilterByUnitService.getMetaMapFromServer(oneServer, RPCConstant.SPRING_CLOUD_SERVICE_META);
        if (StringUtils.isBlank(metaMapValue)){
            return changed;
        }
        List<ServiceMeta> serviceMetaList = JSON.parseArray(metaMapValue,ServiceMeta.class);
        if (CollectionUtils.isEmpty(serviceMetaList)){
            return changed;
        }
        for (ServiceMeta serviceMeta : serviceMetaList) {
            String servicePrimaryKey = buildServicePrimaryName(appName, serviceMeta.getUriPrefix());
            if(addressFilterByUnitService.refreshAddressList(null, servicePrimaryKey, servers, version, serviceMeta.getRa())){
                changed++;
            }
        }
        return changed;
    }