From 1f7572884b8fac46762ff4d0c7977510d230ce15 Mon Sep 17 00:00:00 2001 From: Jose Carvajal Date: Fri, 1 Dec 2017 16:56:34 +0100 Subject: [PATCH] BAEL-1174: A Quick Guide to Spring Cloud Consul: Fix Ribbon client sasd a --- .../consul/discovery/DiscoveryClientApplication.java | 10 +++++++++- .../cloud/consul/ribbon/RibbonClientApplication.java | 11 +++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java index 2dfd08b5c3..b4f42219a4 100644 --- a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java +++ b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/discovery/DiscoveryClientApplication.java @@ -8,7 +8,10 @@ import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.client.discovery.DiscoveryClient; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.context.annotation.Bean; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; @@ -30,12 +33,17 @@ public class DiscoveryClientApplication { return restTemplate().getForEntity(serviceUrl().resolve("/ping"), String.class) .getBody(); } - + @GetMapping("/ping") public String ping() { return "pong"; } + @RequestMapping("/my-health-check") + public ResponseEntity myCustomCheck() { + return new ResponseEntity<>(HttpStatus.OK); + } + public URI serviceUrl() { return discoveryClient.getInstances("myApp") .stream() diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/ribbon/RibbonClientApplication.java b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/ribbon/RibbonClientApplication.java index ca0d23b185..b2b54fbe8e 100644 --- a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/ribbon/RibbonClientApplication.java +++ b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/ribbon/RibbonClientApplication.java @@ -5,6 +5,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -19,7 +21,7 @@ public class RibbonClientApplication { RestTemplate getRestTemplate() { return new RestTemplate(); } - + @Autowired RestTemplate restTemplate; @@ -27,12 +29,17 @@ public class RibbonClientApplication { public String home() { return restTemplate.getForObject("http://myApp/ping", String.class); } - + @GetMapping("/ping") public String ping() { return "pong"; } + @RequestMapping("/my-health-check") + public ResponseEntity myCustomCheck() { + return new ResponseEntity<>(HttpStatus.OK); + } + public static void main(String[] args) { new SpringApplicationBuilder(RibbonClientApplication.class).web(true) .run(args);