diff --git a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClient.java b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClient.java index 7fcf32ab..38645b84 100644 --- a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClient.java +++ b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClient.java @@ -111,7 +111,7 @@ public class ConsulDiscoveryClient implements DiscoveryClient { Response> services = client.getCatalogService(serviceId, QueryParams.DEFAULT); for (CatalogService service : services.getValue()) { - String host = getCatalogServiceHost(service, properties.isPreferIpAddress()); + String host = getCatalogServiceHost(service); instances.add(new DefaultServiceInstance(serviceId, host, service.getServicePort(), false)); } diff --git a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryProperties.java b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryProperties.java index e66df8b8..57093141 100644 --- a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryProperties.java +++ b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryProperties.java @@ -63,6 +63,9 @@ public class ConsulDiscoveryProperties { private String hostname = hostInfo[1]; + /** + * Use ip address rather than hostname during registration + */ private boolean preferIpAddress = false; private int catalogServicesWatchDelay = 10; diff --git a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulRibbonClientConfiguration.java b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulRibbonClientConfiguration.java index c458e248..3e757170 100644 --- a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulRibbonClientConfiguration.java +++ b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulRibbonClientConfiguration.java @@ -50,9 +50,6 @@ public class ConsulRibbonClientConfiguration { @Autowired private ConsulClient client; - @Autowired - private ConsulDiscoveryProperties properties; - @Value("${ribbon.client.name}") private String serviceId = "client"; @@ -70,7 +67,7 @@ public class ConsulRibbonClientConfiguration { @Bean @ConditionalOnMissingBean public ServerList ribbonServerList(IClientConfig config) { - ConsulServerList serverList = new ConsulServerList(client, properties); + ConsulServerList serverList = new ConsulServerList(client); serverList.initWithNiwsConfig(config); return serverList; } diff --git a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulServer.java b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulServer.java index f563d774..d621b7ac 100644 --- a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulServer.java +++ b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulServer.java @@ -30,8 +30,8 @@ public class ConsulServer extends Server { private final String address; private final String node; - public ConsulServer(final CatalogService service, boolean preferAddress) { - super(getCatalogServiceHost(service, preferAddress), service.getServicePort()); + public ConsulServer(final CatalogService service) { + super(getCatalogServiceHost(service), service.getServicePort()); address = service.getAddress(); node = service.getNode(); metaInfo = new MetaInfo() { diff --git a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulServerList.java b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulServerList.java index 3b743719..b913be87 100644 --- a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulServerList.java +++ b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulServerList.java @@ -33,13 +33,11 @@ import com.netflix.loadbalancer.AbstractServerList; public class ConsulServerList extends AbstractServerList { private final ConsulClient client; - private ConsulDiscoveryProperties properties; private String serviceId; - public ConsulServerList(ConsulClient client, ConsulDiscoveryProperties properties) { + public ConsulServerList(ConsulClient client) { this.client = client; - this.properties = properties; } @Override @@ -68,7 +66,7 @@ public class ConsulServerList extends AbstractServerList { } List servers = new ArrayList<>(); for (CatalogService service : response.getValue()) { - servers.add(new ConsulServer(service, properties.isPreferIpAddress())); + servers.add(new ConsulServer(service)); } return servers; } diff --git a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/IpAddressUtils.java b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/IpAddressUtils.java index c62ec927..758ec297 100644 --- a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/IpAddressUtils.java +++ b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/IpAddressUtils.java @@ -35,13 +35,11 @@ import com.ecwid.consul.v1.catalog.model.CatalogService; @CommonsLog public class IpAddressUtils { - public static String getCatalogServiceHost(CatalogService service, boolean preferAddress) { - if (preferAddress) { - if (StringUtils.hasText(service.getServiceAddress())) { - return service.getServiceAddress(); - } else { - return service.getAddress(); - } + public static String getCatalogServiceHost(CatalogService service) { + if (StringUtils.hasText(service.getServiceAddress())) { + return service.getServiceAddress(); + } else if (StringUtils.hasText(service.getAddress())) { + return service.getAddress(); } return service.getNode(); } diff --git a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClientCustomizedTests.java b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClientCustomizedTests.java index eccd6047..0cbffb41 100644 --- a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClientCustomizedTests.java +++ b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClientCustomizedTests.java @@ -52,9 +52,6 @@ public class ConsulDiscoveryClientCustomizedTests { List instances = discoveryClient.getInstances("consul"); assertNotNull("instances was null", instances); assertFalse("instances was empty", instances.isEmpty()); - - ServiceInstance instance = instances.get(0); - assertNotIpAddress(instance); } private void assertNotIpAddress(ServiceInstance instance) {