AlphaClusterDiscovery alphaClusterAddress()

in omega/omega-spring-cloud-eureka-starter/src/main/java/org/apache/servicecomb/pack/omega/spring/cloud/OmegaSpringEurekaConfig.java [57:81]


    AlphaClusterDiscovery alphaClusterAddress(
            @Value("${alpha.cluster.serviceId:servicecomb-alpha-server}") String serviceId,
            @Value("${alpha.cluster.address:0.0.0.0:8080}") String[] addresses) {
        StringBuffer eurekaServiceUrls = new StringBuffer();
        String[] zones = eurekaClientConfig.getAvailabilityZones(eurekaClientConfig.getRegion());
        for (String zone : zones) {
            eurekaServiceUrls.append(String.format(" [%s]:%s,", zone, eurekaClientConfig.getEurekaServerServiceUrls(zone)));
        }
        LOG.info("Eureka address{}", eurekaServiceUrls.toString());
        String[] alphaAddresses = this.getAlphaAddress(serviceId);
        if (alphaAddresses.length > 0) {
            AlphaClusterDiscovery alphaClusterDiscovery = AlphaClusterDiscovery.builder()
                    .discoveryType(AlphaClusterDiscovery.DiscoveryType.EUREKA)
                    .discoveryInfo(eurekaServiceUrls.toString())
                    .addresses(alphaAddresses)
                    .build();
            return alphaClusterDiscovery;
        } else {
            AlphaClusterDiscovery alphaClusterDiscovery = AlphaClusterDiscovery.builder()
                    .discoveryType(AlphaClusterDiscovery.DiscoveryType.DEFAULT)
                    .addresses(addresses)
                    .build();
            return alphaClusterDiscovery;
        }
    }