private void initServiceMetaData()

in mode/cluster/repository/nacos/src/main/java/org/apache/shardingsphere/mode/repository/cluster/nacos/NacosRepository.java [93:107]


    private void initServiceMetaData() {
        try {
            String clusterIp = nacosProps.getValue(NacosPropertyKey.CLUSTER_IP);
            String ip = Strings.isNullOrEmpty(clusterIp) ? IpUtils.getIp() : clusterIp;
            serviceController = new ServiceController();
            for (ServiceMetaData each : serviceController.getAllServices()) {
                Integer port = client.getAllInstances(each.getServiceName(), false).stream()
                        .filter(instance -> ip.equals(instance.getIp())).map(Instance::getPort).max(Comparator.naturalOrder()).orElse(Integer.MIN_VALUE);
                each.setIp(ip);
                each.setPort(new AtomicInteger(port));
            }
        } catch (final NacosException ex) {
            throw new ClusterRepositoryPersistException(ex);
        }
    }