Spring Boot - Bulut Yapılandırma İstemcisi

Bazı uygulamalar, değişiklik gerektirebilecek yapılandırma özelliklerine ihtiyaç duyabilir ve geliştiricilerin bunu gerçekleştirmek için bunları kaldırması veya uygulamayı yeniden başlatması gerekebilir. Ancak bu, üretimde kesinti süresine ve uygulamayı yeniden başlatma ihtiyacına neden olabilir. Spring Cloud Yapılandırma Sunucusu, geliştiricilerin uygulamayı yeniden başlatmadan ve herhangi bir kesinti olmadan yeni yapılandırma özelliklerini yüklemelerine olanak tanır.

Spring Cloud Yapılandırma Sunucusuyla Çalışma

Öncelikle Spring Boot projesini şuradan indirin: https://start.spring.io/ve Spring Cloud Config İstemci bağımlılığını seçin. Şimdi, derleme yapılandırma dosyanıza Spring Cloud Starter Config bağımlılığını ekleyin.

Maven kullanıcıları pom.xml dosyasına aşağıdaki bağımlılığı ekleyebilir.

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

Gradle kullanıcıları aşağıdaki bağımlılığı build.gradle dosya.

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

Şimdi, @RefreshScope açıklamasını ana Spring Boot uygulamanıza eklemeniz gerekiyor. @RefreshScope ek açıklaması, yapılandırma özellikleri değerini Config sunucusundan yüklemek için kullanılır.

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);
   }
}

Şimdi, yapılandırma sunucusu URL'sini application.properties dosyanıza ekleyin ve uygulama adınızı sağlayın.

Note - http: // localhost: 8888 yapılandırma sunucusu, yapılandırma istemci uygulamasını başlatmadan önce çalıştırılmalıdır.

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

Yapılandırma sunucusundan hoş geldiniz mesajını okumak için basit bir REST Uç Noktası yazma kodu aşağıda verilmiştir -

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;
   }
}

Aşağıdaki Maven veya Gradle komutlarını kullanarak yürütülebilir bir JAR dosyası oluşturabilir ve Spring Boot uygulamasını çalıştırabilirsiniz:

Maven için aşağıda gösterilen komutu kullanabilirsiniz -

mvn clean install

"BUILD SUCCESS" sonrasında, JAR dosyasını hedef dizinin altında bulabilirsiniz.

Gradle için aşağıda gösterilen komutu kullanabilirsiniz -

gradle clean build

"BUILD SUCCESSFUL" sonrasında, JAR dosyasını build / libs dizini altında bulabilirsiniz.

Şimdi, burada gösterilen komutu kullanarak JAR dosyasını çalıştırın:

java –jar <JARFILE>

Şimdi, uygulama burada gösterildiği gibi Tomcat 8080 portunda başladı -

Oturum açma konsol penceresini görebilirsiniz; config-client uygulaması, konfigürasyonu şuradan alıyor: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

Şimdi URL'yi tıklayın, http://localhost:8080/ Hoşgeldin mesajı, Yapılandırma sunucusundan yüklenir.

Şimdi gidin ve Yapılandırma sunucusundaki özellik değerini değiştirin ve aktüatör Uç Nokta POST URL'sini tıklayın. http://localhost:8080/refresh ve URL'deki yeni yapılandırma özelliği değerini görün http://localhost:8080/