Spring Boot-클라우드 구성 클라이언트

일부 응용 프로그램에는 변경이 필요한 구성 속성이 필요할 수 있으며 개발자는이를 수행하기 위해 응용 프로그램을 종료하거나 다시 시작해야 할 수 있습니다. 그러나 이로 인해 프로덕션 중단 시간이 발생하고 애플리케이션을 다시 시작해야 할 수 있습니다. Spring Cloud Configuration Server를 사용하면 개발자가 애플리케이션을 다시 시작하지 않고 다운 타임없이 새 구성 속성을로드 할 수 있습니다.

Spring Cloud 구성 서버 작업

먼저 Spring Boot 프로젝트를 https://start.spring.io/Spring Cloud Config Client 종속성을 선택하십시오. 이제 빌드 구성 파일에 Spring Cloud Starter Config 종속성을 추가하십시오.

Maven 사용자는 pom.xml 파일에 다음 종속성을 추가 할 수 있습니다.

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-config</artifactId>
</dependency>

Gradle 사용자는 다음 종속성을 build.gradle 파일.

compile('org.springframework.cloud:spring-cloud-starter-config')

이제 기본 Spring Boot 애플리케이션에 @RefreshScope 주석을 추가해야합니다. @RefreshScope 주석은 구성 서버에서 구성 속성 값을로드하는 데 사용됩니다.

package com.example.configclient;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.context.config.annotation.RefreshScope;

@SpringBootApplication
@RefreshScope
public class ConfigclientApplication {
   public static void main(String[] args) {
      SpringApplication.run(ConfigclientApplication.class, args);
   }
}

이제 application.properties 파일에 구성 서버 URL을 추가하고 애플리케이션 이름을 제공하십시오.

Note − http : // localhost : 8888 설정 서버는 설정 클라이언트 응용 프로그램을 시작하기 전에 실행되어야합니다.

spring.application.name = config-client
spring.cloud.config.uri = http://localhost:8888

구성 서버에서 환영 메시지를 읽기 위해 간단한 REST 엔드 포인트를 작성하는 코드는 다음과 같습니다.

package com.example.configclient;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RefreshScope
@RestController
public class ConfigclientApplication {
   @Value("${welcome.message}")
   String welcomeText;
   
   public static void main(String[] args) {
      SpringApplication.run(ConfigclientApplication.class, args);
   }
   @RequestMapping(value = "/")
   public String welcomeText() {
      return welcomeText;
   }
}

실행 가능한 JAR 파일을 생성하고 다음 Maven 또는 Gradle 명령을 사용하여 Spring Boot 애플리케이션을 실행할 수 있습니다.

Maven의 경우 아래에 표시된 명령을 사용할 수 있습니다.

mvn clean install

“BUILD SUCCESS”후 대상 디렉토리에서 JAR 파일을 찾을 수 있습니다.

Gradle의 경우 아래에 표시된 명령을 사용할 수 있습니다.

gradle clean build

“BUILD SUCCESSFUL”후에 build / libs 디렉토리에서 JAR 파일을 찾을 수 있습니다.

이제 여기에 표시된 명령을 사용하여 JAR 파일을 실행하십시오.

java –jar <JARFILE>

이제 응용 프로그램은 다음과 같이 Tomcat 포트 8080에서 시작되었습니다.

로그인 콘솔 창을 볼 수 있습니다. config-client 애플리케이션이https://localhost:8888

2017-12-08 12:41:57.682  INFO 1104 --- [           
   main] c.c.c.ConfigServicePropertySourceLocator : 
   Fetching config from server at: http://localhost:8888

이제 URL을 누르십시오. http://localhost:8080/ 환영 메시지는 구성 서버에서로드됩니다.

이제 구성 서버에서 속성 값을 변경하고 액추에이터 Endpoint POST URL을 누르십시오. http://localhost:8080/refresh URL에서 새 구성 속성 값을 확인합니다. http://localhost:8080/