From b14dfbe4f0cd1b4d209730ffa3ba0c2ac7adb7f4 Mon Sep 17 00:00:00 2001 From: Jose Carvajal Date: Thu, 30 Nov 2017 11:55:49 +0100 Subject: [PATCH] BAEL-1174: A Quick Guide to Spring Cloud Consul --- bootique/dependency-reduced-pom.xml | 8 ++- libraries-data/file.dat | Bin 0 -> 87 bytes libraries/helloWorld.docx | Bin 0 -> 76887 bytes spring-cloud/spring-cloud-consul/pom.xml | 58 ++++++++++++++++++ .../consul/DiscoveryClientApplication.java | 53 ++++++++++++++++ .../DistributedPropertiesApplication.java | 36 +++++++++++ .../cloud/consul/RibbonClientApplication.java | 34 ++++++++++ .../consul/ServiceDiscoveryApplication.java | 29 +++++++++ .../cloud/consul/properties/MyProperties.java | 20 ++++++ .../src/main/resources/application.yml | 14 +++++ .../src/main/resources/bootstrap.yml | 9 +++ undertow/dependency-reduced-pom.xml | 40 ++++++++++++ xml/src/test/resources/example_dom4j_new.xml | 10 +++ xml/src/test/resources/example_jaxb_new.xml | 9 +++ 14 files changed, 319 insertions(+), 1 deletion(-) create mode 100644 libraries-data/file.dat create mode 100644 libraries/helloWorld.docx create mode 100644 spring-cloud/spring-cloud-consul/pom.xml create mode 100644 spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/DiscoveryClientApplication.java create mode 100644 spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/DistributedPropertiesApplication.java create mode 100644 spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/RibbonClientApplication.java create mode 100644 spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/ServiceDiscoveryApplication.java create mode 100644 spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/MyProperties.java create mode 100644 spring-cloud/spring-cloud-consul/src/main/resources/application.yml create mode 100644 spring-cloud/spring-cloud-consul/src/main/resources/bootstrap.yml create mode 100644 undertow/dependency-reduced-pom.xml create mode 100644 xml/src/test/resources/example_dom4j_new.xml create mode 100644 xml/src/test/resources/example_jaxb_new.xml diff --git a/bootique/dependency-reduced-pom.xml b/bootique/dependency-reduced-pom.xml index ed18f4e42a..ab09cfb7b1 100644 --- a/bootique/dependency-reduced-pom.xml +++ b/bootique/dependency-reduced-pom.xml @@ -28,8 +28,14 @@ junit junit - 3.8.1 + 4.12 test + + + hamcrest-core + org.hamcrest + + diff --git a/libraries-data/file.dat b/libraries-data/file.dat new file mode 100644 index 0000000000000000000000000000000000000000..70177cef976ad64b5517006b8abb7acc41f58b6e GIT binary patch literal 87 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 AsQ>@~ literal 0 HcmV?d00001 diff --git a/spring-cloud/spring-cloud-consul/pom.xml b/spring-cloud/spring-cloud-consul/pom.xml new file mode 100644 index 0000000000..0a0650ec8b --- /dev/null +++ b/spring-cloud/spring-cloud-consul/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + + org.baeldung + spring-cloud-consul + jar + + spring-cloud-consul + + + com.baeldung.spring.cloud + spring-cloud + 1.0.0-SNAPSHOT + + + + UTF-8 + 3.6.0 + + + + + org.springframework.cloud + spring-cloud-starter-consul-all + 1.3.0.RELEASE + + + + org.springframework.cloud + spring-cloud-starter-consul-config + 1.3.0.RELEASE + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + 1.8 + 1.8 + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring-boot-maven-plugin.version} + + + + + diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/DiscoveryClientApplication.java b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/DiscoveryClientApplication.java new file mode 100644 index 0000000000..e5e18d71ff --- /dev/null +++ b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/DiscoveryClientApplication.java @@ -0,0 +1,53 @@ +package com.baeldung.spring.cloud.consul; + +import java.net.URI; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; +import org.springframework.context.annotation.Bean; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; + +@SpringBootApplication +@EnableDiscoveryClient +@RestController +public class DiscoveryClientApplication { + + @Bean + public RestTemplate restTemplate() { + return new RestTemplate(); + } + + @Autowired + private RestTemplate restTemplate; + + @Autowired + private DiscoveryClient discoveryClient; + + @RequestMapping("/discoveryClient") + public String home() { + return this.restTemplate.getForEntity(serviceUrl().resolve("/ping"), String.class) + .getBody(); + } + + public URI serviceUrl() { + List list = discoveryClient.getInstances("myApp"); + if (list != null && list.size() > 0) { + return list.get(0) + .getUri(); + } + + return null; + } + + public static void main(String[] args) { + new SpringApplicationBuilder(DiscoveryClientApplication.class).web(true) + .run(args); + } +} diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/DistributedPropertiesApplication.java b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/DistributedPropertiesApplication.java new file mode 100644 index 0000000000..12ecd96b26 --- /dev/null +++ b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/DistributedPropertiesApplication.java @@ -0,0 +1,36 @@ +package com.baeldung.spring.cloud.consul; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.baeldung.spring.cloud.consul.properties.MyProperties; + +@SpringBootApplication +@RestController +public class DistributedPropertiesApplication { + + @Value("${my.prop}") + String value; + + @Autowired + private MyProperties properties; + + @RequestMapping("/getConfigFromValue") + public String getConfigFromValue() { + return value; + } + + @RequestMapping("/getConfigFromProperty") + public String getConfigFromProperty() { + return properties.getProp(); + } + + public static void main(String[] args) { + new SpringApplicationBuilder(DistributedPropertiesApplication.class).web(true) + .run(args); + } +} diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/RibbonClientApplication.java b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/RibbonClientApplication.java new file mode 100644 index 0000000000..620c3553ba --- /dev/null +++ b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/RibbonClientApplication.java @@ -0,0 +1,34 @@ +package com.baeldung.spring.cloud.consul; + +import org.springframework.beans.factory.annotation.Autowired; +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.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.client.RestTemplate; + +@SpringBootApplication +@RestController +public class RibbonClientApplication { + + @LoadBalanced + @Bean + public RestTemplate loadbalancedRestTemplate() { + return new RestTemplate(); + } + + @Autowired + RestTemplate restTemplate; + + @RequestMapping("/ribbonClient") + public String home() { + return this.restTemplate.getForObject("http://myApp/ping", String.class); + } + + public static void main(String[] args) { + new SpringApplicationBuilder(RibbonClientApplication.class).web(true) + .run(args); + } +} diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/ServiceDiscoveryApplication.java b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/ServiceDiscoveryApplication.java new file mode 100644 index 0000000000..5da8105d01 --- /dev/null +++ b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/ServiceDiscoveryApplication.java @@ -0,0 +1,29 @@ +package com.baeldung.spring.cloud.consul; + +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@SpringBootApplication +@RestController +public class ServiceDiscoveryApplication { + @RequestMapping("/my-health-check") + public ResponseEntity myCustomCheck() { + String message = "Testing my healh check function"; + return new ResponseEntity<>(message, HttpStatus.FORBIDDEN); + } + + @RequestMapping("/ping") + public String ping() { + return "pong"; + } + + public static void main(String[] args) { + new SpringApplicationBuilder(ServiceDiscoveryApplication.class).web(true) + .run(args); + } + +} \ No newline at end of file diff --git a/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/MyProperties.java b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/MyProperties.java new file mode 100644 index 0000000000..7accac168d --- /dev/null +++ b/spring-cloud/spring-cloud-consul/src/main/java/com/baeldung/spring/cloud/consul/properties/MyProperties.java @@ -0,0 +1,20 @@ +package com.baeldung.spring.cloud.consul.properties; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.cloud.context.config.annotation.RefreshScope; +import org.springframework.context.annotation.Configuration; + +@RefreshScope +@Configuration +@ConfigurationProperties("my") +public class MyProperties { + private String prop; + + public String getProp() { + return prop; + } + + public void setProp(String prop) { + this.prop = prop; + } +} diff --git a/spring-cloud/spring-cloud-consul/src/main/resources/application.yml b/spring-cloud/spring-cloud-consul/src/main/resources/application.yml new file mode 100644 index 0000000000..ccdc3fdeee --- /dev/null +++ b/spring-cloud/spring-cloud-consul/src/main/resources/application.yml @@ -0,0 +1,14 @@ +spring: + application: + name: myApp + cloud: + consul: + host: localhost + port: 8500 + discovery: + healthCheckPath: /my-health-check + healthCheckInterval: 20s + enabled: true + instanceId: ${spring.application.name}:${random.value} +server: + port: 0 \ No newline at end of file diff --git a/spring-cloud/spring-cloud-consul/src/main/resources/bootstrap.yml b/spring-cloud/spring-cloud-consul/src/main/resources/bootstrap.yml new file mode 100644 index 0000000000..6318170135 --- /dev/null +++ b/spring-cloud/spring-cloud-consul/src/main/resources/bootstrap.yml @@ -0,0 +1,9 @@ +spring: + application: + name: myApp + cloud: + consul: + host: localhost + port: 8500 + config: + enabled: true \ No newline at end of file diff --git a/undertow/dependency-reduced-pom.xml b/undertow/dependency-reduced-pom.xml new file mode 100644 index 0000000000..f3bb8b78ed --- /dev/null +++ b/undertow/dependency-reduced-pom.xml @@ -0,0 +1,40 @@ + + + 4.0.0 + com.baeldung.undertow + undertow + undertow + 1.0-SNAPSHOT + http://maven.apache.org + + ${project.artifactId} + + + maven-shade-plugin + + + package + + shade + + + + + + maven-jar-plugin + + + + com.baeldung.undertow.SimpleServer + + + + + + + + 1.8 + 1.8 + + + diff --git a/xml/src/test/resources/example_dom4j_new.xml b/xml/src/test/resources/example_dom4j_new.xml new file mode 100644 index 0000000000..020760fdd3 --- /dev/null +++ b/xml/src/test/resources/example_dom4j_new.xml @@ -0,0 +1,10 @@ + + + + + XML with Dom4J + XML handling with Dom4J + 14/06/2016 + Dom4J tech writer + + diff --git a/xml/src/test/resources/example_jaxb_new.xml b/xml/src/test/resources/example_jaxb_new.xml new file mode 100644 index 0000000000..646d938869 --- /dev/null +++ b/xml/src/test/resources/example_jaxb_new.xml @@ -0,0 +1,9 @@ + + + + Jaxb author + 04/02/2015 + XML Binding with Jaxb + XML with Jaxb + +