Removing the code of an old version of the code with deleted maven module spring-cloud-kubernetes-project
This commit is contained in:
parent
12b3bc1383
commit
ea3fe7aab9
@ -1,71 +0,0 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<parent>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-parent</artifactId>
|
|
||||||
<version>2.0.6.RELEASE</version>
|
|
||||||
</parent>
|
|
||||||
<artifactId>client-service</artifactId>
|
|
||||||
<groupId>com.baeldung.spring.cloud</groupId>
|
|
||||||
<version>1.0-SNAPSHOT</version>
|
|
||||||
|
|
||||||
<properties>
|
|
||||||
<java.version>1.8</java.version>
|
|
||||||
<spring-boot.version>2.0.1.RELEASE</spring-boot.version>
|
|
||||||
<spring-cloud-dependencies.version>Finchley.SR2</spring-cloud-dependencies.version>
|
|
||||||
<spring.cloud.k8s.version>0.3.0.RELEASE</spring.cloud.k8s.version>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
|
|
||||||
<dependencyManagement>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-dependencies</artifactId>
|
|
||||||
<version>${spring-cloud-dependencies.version}</version>
|
|
||||||
<type>pom</type>
|
|
||||||
<scope>import</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-kubernetes-dependencies</artifactId>
|
|
||||||
<version>${spring.cloud.k8s.version}</version>
|
|
||||||
<type>pom</type>
|
|
||||||
<scope>import</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
</dependencyManagement>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-kubernetes-discovery</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-starter-kubernetes-config</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-web</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
|
@ -1,96 +0,0 @@
|
|||||||
package com.baeldung.spring.cloud.kubernetes.services.department;
|
|
||||||
|
|
||||||
import com.baeldung.spring.cloud.kubernetes.services.client.config.ClientConfig;
|
|
||||||
import com.baeldung.spring.cloud.kubernetes.services.client.service.TravelAgencyClientService;
|
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
|
||||||
import org.springframework.boot.CommandLineRunner;
|
|
||||||
import org.springframework.boot.SpringApplication;
|
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
||||||
import org.springframework.cloud.client.ServiceInstance;
|
|
||||||
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
|
|
||||||
import org.springframework.cloud.client.discovery.DiscoveryClient;
|
|
||||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
|
||||||
import org.springframework.web.client.RestTemplate;
|
|
||||||
|
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.net.UnknownHostException;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@SpringBootApplication
|
|
||||||
@EnableDiscoveryClient
|
|
||||||
@EnableCircuitBreaker
|
|
||||||
public class ClientApplication implements CommandLineRunner {
|
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(ClientApplication.class);
|
|
||||||
private static final String FIND_TRAVEL_DEALS_TASK = "Find new travel deals";
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private DiscoveryClient discoveryClient;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private TravelAgencyClientService travelAgencyClient;
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ClientConfig clientConfig;
|
|
||||||
|
|
||||||
private String task = FIND_TRAVEL_DEALS_TASK;
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
private RestTemplate restTemplate() {
|
|
||||||
return new RestTemplate();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Value("${spring.application.name}")
|
|
||||||
private String appName;
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
SpringApplication.run(ClientApplication.class, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void run(String... args) {
|
|
||||||
log.info("Client (" + appName + ":" + clientConfig.getType() + ")Started! ");
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Every 10 seconds look for new deals
|
|
||||||
*/
|
|
||||||
@Scheduled(fixedRate = 10000)
|
|
||||||
public void doSomeWork() throws UnknownHostException {
|
|
||||||
if (task.equals(FIND_TRAVEL_DEALS_TASK)) {
|
|
||||||
task = findNewDeals();
|
|
||||||
if (task.equals(FIND_TRAVEL_DEALS_TASK)) {
|
|
||||||
log.info("NO DEAL FOUND, I will keep looking for one ");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
log.info(">>> Working on " + task);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String findNewDeals() throws UnknownHostException {
|
|
||||||
List<String> services = this.discoveryClient.getServices();
|
|
||||||
|
|
||||||
for (String service : services) {
|
|
||||||
List<ServiceInstance> instances = this.discoveryClient.getInstances(service);
|
|
||||||
for (ServiceInstance se : instances) {
|
|
||||||
Map<String, String> metadata = se.getMetadata();
|
|
||||||
String type = metadata.get("type");
|
|
||||||
if ("deal".equals(type)) {
|
|
||||||
|
|
||||||
String from = appName + "@" + InetAddress.getLocalHost().getHostName();
|
|
||||||
String url = "http://" + se.getServiceId();
|
|
||||||
return travelAgencyClient.requestDeals(url, from);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return FIND_TRAVEL_DEALS_TASK;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
package com.baeldung.spring.cloud.kubernetes.services.client.config;
|
|
||||||
|
|
||||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
|
||||||
|
|
||||||
@Configuration
|
|
||||||
@ConfigurationProperties(prefix = "client")
|
|
||||||
public class ClientConfig {
|
|
||||||
|
|
||||||
private String type = "generic-client";
|
|
||||||
|
|
||||||
public String getType() {
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setType(String type) {
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,43 +0,0 @@
|
|||||||
package com.baeldung.spring.cloud.kubernetes.services.client.controller;
|
|
||||||
|
|
||||||
import java.io.UnsupportedEncodingException;
|
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.net.UnknownHostException;
|
|
||||||
|
|
||||||
import com.baeldung.spring.cloud.kubernetes.services.client.config.ClientConfig;
|
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import static org.springframework.web.bind.annotation.RequestMethod.GET;
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
@RefreshScope
|
|
||||||
public class ClientController {
|
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(ClientController.class);
|
|
||||||
|
|
||||||
private enum ClientTravelType {
|
|
||||||
BUSINESS,
|
|
||||||
STUDENT,
|
|
||||||
COUPLE,
|
|
||||||
FRIENDS,
|
|
||||||
SINGLE,
|
|
||||||
FAMILY;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private ClientConfig clientConfig;
|
|
||||||
|
|
||||||
@RequestMapping(method = GET)
|
|
||||||
public String get() throws UnknownHostException, UnsupportedEncodingException {
|
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
|
||||||
stringBuilder.append("Host: ").append(InetAddress.getLocalHost().getHostName()).append("<br/>");
|
|
||||||
stringBuilder.append("Client Type: ").append(clientConfig.getType()).append("<br/>");
|
|
||||||
stringBuilder.append("IP: ").append(InetAddress.getLocalHost().getHostAddress()).append("<br/>");
|
|
||||||
return stringBuilder.toString();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,45 +0,0 @@
|
|||||||
package com.baeldung.spring.cloud.kubernetes.services.client.service;
|
|
||||||
|
|
||||||
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
|
|
||||||
import com.netflix.hystrix.contrib.javanica.annotation.HystrixProperty;
|
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
import org.springframework.http.HttpMethod;
|
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import org.springframework.web.client.RestTemplate;
|
|
||||||
|
|
||||||
@Service
|
|
||||||
public class TravelAgencyClientService {
|
|
||||||
|
|
||||||
private final RestTemplate restTemplate;
|
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(TravelAgencyClientService.class);
|
|
||||||
|
|
||||||
public static final String FIND_NEW_TRAVEL_DEALS = "find new travel deals";
|
|
||||||
|
|
||||||
public TravelAgencyClientService(RestTemplate restTemplate) {
|
|
||||||
this.restTemplate = restTemplate;
|
|
||||||
}
|
|
||||||
|
|
||||||
@HystrixCommand(fallbackMethod = "getFallbackName", commandProperties = {
|
|
||||||
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds", value = "5000")
|
|
||||||
})
|
|
||||||
public String requestDeals(String to,
|
|
||||||
String from) {
|
|
||||||
|
|
||||||
String url = String.format("%s/deals/%s",
|
|
||||||
to,
|
|
||||||
from);
|
|
||||||
|
|
||||||
log.info("--- Requesting travel deals to travel agency " + url);
|
|
||||||
|
|
||||||
return restTemplate.getForObject(url, String.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
private String getFallbackName(String to,
|
|
||||||
String from) {
|
|
||||||
log.error("--- This travel agency (" + to + ") not available now, please come back later (Fallback) client:" + from);
|
|
||||||
return FIND_NEW_TRAVEL_DEALS;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
spring:
|
|
||||||
application:
|
|
||||||
name: client-service
|
|
||||||
cloud:
|
|
||||||
config:
|
|
||||||
uri: http://localhost:8088
|
|
@ -1,12 +0,0 @@
|
|||||||
# requires Docker version 17.05.0-ce-rc1, build 2878a85
|
|
||||||
FROM maven:3.5-jdk-8 as BUILDAGENCY
|
|
||||||
|
|
||||||
COPY src /usr/src/myapp/src
|
|
||||||
COPY pom.xml /usr/src/myapp
|
|
||||||
RUN mvn -f /usr/src/myapp/pom.xml clean package -DskipTests
|
|
||||||
|
|
||||||
FROM openjdk:alpine
|
|
||||||
|
|
||||||
COPY --from=BUILDAGENCY /usr/src/myapp/target/*.jar /maven/
|
|
||||||
|
|
||||||
CMD java $JAVA_OPTS -jar maven/*.jar
|
|
@ -1,76 +0,0 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<parent>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-parent</artifactId>
|
|
||||||
<version>2.0.6.RELEASE</version>
|
|
||||||
</parent>
|
|
||||||
<artifactId>gateway-service</artifactId>
|
|
||||||
<groupId>com.baeldung.spring.cloud</groupId>
|
|
||||||
<version>1.0-SNAPSHOT</version>
|
|
||||||
|
|
||||||
<properties>
|
|
||||||
<java.version>1.8</java.version>
|
|
||||||
<spring-boot.version>2.0.1.RELEASE</spring-boot.version>
|
|
||||||
<spring-cloud-dependencies.version>Finchley.SR2</spring-cloud-dependencies.version>
|
|
||||||
<spring.cloud.k8s.version>0.3.0.RELEASE</spring.cloud.k8s.version>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
|
|
||||||
<dependencyManagement>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-dependencies</artifactId>
|
|
||||||
<version>${spring-cloud-dependencies.version}</version>
|
|
||||||
<type>pom</type>
|
|
||||||
<scope>import</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-kubernetes-dependencies</artifactId>
|
|
||||||
<version>${spring.cloud.k8s.version}</version>
|
|
||||||
<type>pom</type>
|
|
||||||
<scope>import</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
</dependencyManagement>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-actuator</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-autoconfigure</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-starter-gateway</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-kubernetes-discovery</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-kubernetes-ribbon</artifactId>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
|
@ -1,44 +0,0 @@
|
|||||||
package com.baeldung.spring.cloud.kubernetes.services.gateway;
|
|
||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.boot.SpringApplication;
|
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
||||||
import org.springframework.cloud.client.discovery.DiscoveryClient;
|
|
||||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
|
||||||
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
|
|
||||||
import org.springframework.cloud.gateway.discovery.DiscoveryClientRouteDefinitionLocator;
|
|
||||||
import org.springframework.cloud.gateway.discovery.DiscoveryLocatorProperties;
|
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
|
||||||
import org.springframework.web.client.RestTemplate;
|
|
||||||
|
|
||||||
@EnableScheduling
|
|
||||||
@EnableDiscoveryClient
|
|
||||||
@SpringBootApplication
|
|
||||||
public class GatewayApplication {
|
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(GatewayApplication.class);
|
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private DiscoveryClient discoveryClient;
|
|
||||||
|
|
||||||
@Bean
|
|
||||||
public DiscoveryClientRouteDefinitionLocator discoveryClientRouteLocator(DiscoveryClient discoveryClient,
|
|
||||||
DiscoveryLocatorProperties properties) {
|
|
||||||
return new DiscoveryClientRouteDefinitionLocator(discoveryClient,
|
|
||||||
properties);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
SpringApplication.run(GatewayApplication.class,
|
|
||||||
args);
|
|
||||||
}
|
|
||||||
|
|
||||||
@LoadBalanced
|
|
||||||
@Bean
|
|
||||||
RestTemplate restTemplate() {
|
|
||||||
return new RestTemplate();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
spring:
|
|
||||||
application:
|
|
||||||
name: gateway-service
|
|
||||||
cloud:
|
|
||||||
config:
|
|
||||||
uri: http://localhost:8088
|
|
@ -1,27 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<groupId>com.baeldung.spring.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-kubernetes-project</artifactId>
|
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
|
||||||
<name>spring-cloud-kubernetes-project</name>
|
|
||||||
<description>Spring Cloud Kubernetes</description>
|
|
||||||
<packaging>pom</packaging>
|
|
||||||
|
|
||||||
<modules>
|
|
||||||
<module>travel-agency-service</module>
|
|
||||||
<module>client-service</module>
|
|
||||||
<module>gateway-service</module>
|
|
||||||
</modules>
|
|
||||||
|
|
||||||
<parent>
|
|
||||||
<groupId>com.baeldung.spring.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud</artifactId>
|
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
|
||||||
<relativePath>..</relativePath>
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</project>
|
|
@ -1,12 +0,0 @@
|
|||||||
# requires Docker version 17.05.0-ce-rc1, build 2878a85
|
|
||||||
FROM maven:3.5-jdk-8 as BUILDAGENCY
|
|
||||||
|
|
||||||
COPY src /usr/src/myapp/src
|
|
||||||
COPY pom.xml /usr/src/myapp
|
|
||||||
RUN mvn -f /usr/src/myapp/pom.xml clean package -DskipTests
|
|
||||||
|
|
||||||
FROM openjdk:alpine
|
|
||||||
|
|
||||||
COPY --from=BUILDAGENCY /usr/src/myapp/target/*.jar /maven/
|
|
||||||
|
|
||||||
CMD java $JAVA_OPTS -jar maven/*.jar
|
|
@ -1,59 +0,0 @@
|
|||||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<parent>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-parent</artifactId>
|
|
||||||
<version>2.0.6.RELEASE</version>
|
|
||||||
</parent>
|
|
||||||
<artifactId>travel-agency-service</artifactId>
|
|
||||||
<groupId>com.baeldung.spring.cloud</groupId>
|
|
||||||
<version>1.0-SNAPSHOT</version>
|
|
||||||
|
|
||||||
<properties>
|
|
||||||
<java.version>1.8</java.version>
|
|
||||||
<spring-boot.version>2.0.1.RELEASE</spring-boot.version>
|
|
||||||
<spring-cloud-dependencies.version>Finchley.SR2</spring-cloud-dependencies.version>
|
|
||||||
</properties>
|
|
||||||
|
|
||||||
|
|
||||||
<dependencyManagement>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-dependencies</artifactId>
|
|
||||||
<version>${spring-cloud-dependencies.version}</version>
|
|
||||||
<type>pom</type>
|
|
||||||
<scope>import</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
</dependencyManagement>
|
|
||||||
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.cloud</groupId>
|
|
||||||
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-starter-web</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-actuator</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-actuator-autoconfigure</artifactId>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.springframework.boot</groupId>
|
|
||||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
|
@ -1,24 +0,0 @@
|
|||||||
package com.baeldung.spring.cloud.kubernetes.services.department;
|
|
||||||
|
|
||||||
import com.baeldung.spring.cloud.kubernetes.services.travelagency.controller.TravelAgencyController;
|
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
import org.springframework.boot.CommandLineRunner;
|
|
||||||
import org.springframework.boot.SpringApplication;
|
|
||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
|
||||||
|
|
||||||
@SpringBootApplication
|
|
||||||
public class TravelAgencyApplication implements CommandLineRunner {
|
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(TravelAgencyController.class);
|
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
SpringApplication.run(TravelAgencyApplication.class, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void run(String... args) throws Exception {
|
|
||||||
log.info("Travel Agency Started! ");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,36 +0,0 @@
|
|||||||
package com.baeldung.spring.cloud.kubernetes.services.travelagency.controller;
|
|
||||||
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
|
||||||
import org.apache.commons.logging.Log;
|
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
import java.net.InetAddress;
|
|
||||||
import java.net.UnknownHostException;
|
|
||||||
import java.util.Random;
|
|
||||||
import static org.springframework.web.bind.annotation.RequestMethod.GET;
|
|
||||||
import static org.springframework.web.bind.annotation.RequestMethod.POST;
|
|
||||||
|
|
||||||
@RestController
|
|
||||||
public class TravelAgencyController {
|
|
||||||
|
|
||||||
private String[] deals = {"London - Paris : 25 Euro", "London - Frankfurt : 25 Euro"};
|
|
||||||
private static final Log log = LogFactory.getLog(TravelAgencyController.class);
|
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping(method = POST, path = "/deals/{client}")
|
|
||||||
public String deals(@PathVariable("client") String client) {
|
|
||||||
log.info("Client: " + client + " is requesting new deals!");
|
|
||||||
int randomDeal = new Random().nextInt(deals.length);
|
|
||||||
return deals[randomDeal];
|
|
||||||
}
|
|
||||||
|
|
||||||
@RequestMapping(method = GET, path = "/")
|
|
||||||
@ResponseBody
|
|
||||||
public String get() throws UnknownHostException {
|
|
||||||
|
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
|
||||||
stringBuilder.append("Host: ").append(InetAddress.getLocalHost().getHostName()).append("<br/>");
|
|
||||||
stringBuilder.append("IP: ").append(InetAddress.getLocalHost().getHostAddress()).append("<br/>");
|
|
||||||
stringBuilder.append("Type: ").append("Travel Agency").append("<br/>");
|
|
||||||
return stringBuilder.toString();
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
spring:
|
|
||||||
application:
|
|
||||||
name: travelagency-service
|
|
||||||
cloud:
|
|
||||||
config:
|
|
||||||
uri: http://localhost:8088
|
|
Loading…
x
Reference in New Issue
Block a user