diff --git a/spring-cloud-cloudfoundry-discovery/src/main/java/org/springframework/cloud/cloudfoundry/discovery/CloudFoundryDiscoveryClient.java b/spring-cloud-cloudfoundry-discovery/src/main/java/org/springframework/cloud/cloudfoundry/discovery/CloudFoundryDiscoveryClient.java index d1a30da..271b978 100644 --- a/spring-cloud-cloudfoundry-discovery/src/main/java/org/springframework/cloud/cloudfoundry/discovery/CloudFoundryDiscoveryClient.java +++ b/spring-cloud-cloudfoundry-discovery/src/main/java/org/springframework/cloud/cloudfoundry/discovery/CloudFoundryDiscoveryClient.java @@ -38,6 +38,7 @@ import org.springframework.cloud.cloudfoundry.CloudFoundryService; * @author Spencer Gibb * @author Dave Syer * @author Olga Maciaszek-Sharma + * @author Tim Ysewyn */ public class CloudFoundryDiscoveryClient implements DiscoveryClient { @@ -70,6 +71,7 @@ public class CloudFoundryDiscoveryClient implements DiscoveryClient { String applicationId = applicationDetail.getId(); String applicationIndex = instanceDetail.getIndex(); + String instanceId = applicationId + "." + applicationIndex; String name = applicationDetail.getName(); String url = applicationDetail.getUrls().size() > 0 ? applicationDetail.getUrls().get(0) : null; @@ -79,7 +81,7 @@ public class CloudFoundryDiscoveryClient implements DiscoveryClient { metadata.put("applicationId", applicationId); metadata.put("instanceId", applicationIndex); - return (ServiceInstance) new DefaultServiceInstance(name, url, 80, secure, + return (ServiceInstance) new DefaultServiceInstance(instanceId, name, url, 80, secure, metadata); }).collectList().blockOptional().orElse(new ArrayList<>()); } diff --git a/spring-cloud-cloudfoundry-discovery/src/test/java/org/springframework/cloud/cloudfoundry/discovery/CloudFoundryDiscoveryClientTest.java b/spring-cloud-cloudfoundry-discovery/src/test/java/org/springframework/cloud/cloudfoundry/discovery/CloudFoundryDiscoveryClientTest.java index 3173b9d..6f55458 100644 --- a/spring-cloud-cloudfoundry-discovery/src/test/java/org/springframework/cloud/cloudfoundry/discovery/CloudFoundryDiscoveryClientTest.java +++ b/spring-cloud-cloudfoundry-discovery/src/test/java/org/springframework/cloud/cloudfoundry/discovery/CloudFoundryDiscoveryClientTest.java @@ -92,6 +92,7 @@ public class CloudFoundryDiscoveryClientTest { List instances = this.cloudFoundryDiscoveryClient .getInstances(this.hiServiceServiceId); assertThat(instances.size()).as("Wrong instances: " + instances).isEqualTo(1); + assertThat(instances.get(0).getInstanceId()).as("Wrong instance ID").isEqualTo("id.0"); } }