From 6e4a6c686d59dcb1475a77e75044a5b2eeb48b53 Mon Sep 17 00:00:00 2001 From: nicu marasoiu Date: Fri, 10 Apr 2015 14:18:16 +0300 Subject: [PATCH] publish context --- .../cloud/consul/discovery/ConsulLifecycle.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulLifecycle.java b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulLifecycle.java index 5c8e81c2..80378e03 100644 --- a/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulLifecycle.java +++ b/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/discovery/ConsulLifecycle.java @@ -25,6 +25,10 @@ import com.ecwid.consul.v1.ConsulClient; import com.ecwid.consul.v1.agent.model.NewService; import org.springframework.util.Assert; +import javax.servlet.ServletContext; +import java.util.LinkedList; +import java.util.List; + /** * @author Spencer Gibb */ @@ -43,6 +47,9 @@ public class ConsulLifecycle extends AbstractDiscoveryLifecycle { @Autowired private HeartbeatProperties ttlConfig; + @Autowired(required = false) + private ServletContext servletContext; + private NewService service = new NewService(); @Override @@ -67,7 +74,7 @@ public class ConsulLifecycle extends AbstractDiscoveryLifecycle { } service.setId(id); service.setName(appName); - service.setTags(properties.getTags()); + service.setTags(createTags()); NewService.Check check = new NewService.Check(); if (ttlConfig.isEnabled()) { @@ -121,6 +128,14 @@ public class ConsulLifecycle extends AbstractDiscoveryLifecycle { deregister(getManagementServiceName()); } + private List createTags() { + List tags = new LinkedList<>(properties.getTags()); + if(servletContext != null) { + tags.add("contextPath=" + servletContext.getContextPath()); + } + return tags; + } + private void deregister(String serviceId) { if (ttlScheduler != null) { ttlScheduler.remove(serviceId);