Spring Boot - klient konfiguracji chmury
Niektóre aplikacje mogą wymagać właściwości konfiguracyjnych, które mogą wymagać zmiany, a programiści mogą być zmuszeni do ich wyłączenia lub ponownego uruchomienia aplikacji, aby to wykonać. Może to jednak prowadzić do przestojów w produkcji i konieczności ponownego uruchomienia aplikacji. Spring Cloud Configuration Server umożliwia programistom ładowanie nowych właściwości konfiguracyjnych bez ponownego uruchamiania aplikacji i bez przestojów.
Praca z serwerem konfiguracji Spring Cloud
Najpierw pobierz projekt Spring Boot z https://start.spring.io/i wybierz zależność Spring Cloud Config Client. Teraz dodaj zależność Spring Cloud Starter Config do pliku konfiguracji kompilacji.
Użytkownicy Maven mogą dodać następującą zależność do pliku pom.xml.
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
Użytkownicy Gradle mogą dodać następującą zależność do build.gradle plik.
compile('org.springframework.cloud:spring-cloud-starter-config')
Teraz musisz dodać adnotację @RefreshScope do swojej głównej aplikacji Spring Boot. Adnotacja @RefreshScope służy do ładowania wartości właściwości konfiguracyjnych z serwera Config.
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);
}
}
Teraz dodaj adres URL serwera konfiguracji do pliku application.properties i podaj nazwę aplikacji.
Note - http: // localhost: serwer konfiguracyjny 8888 należy uruchomić przed uruchomieniem aplikacji klienta konfiguracji.
spring.application.name = config-client
spring.cloud.config.uri = http://localhost:8888
Kod do napisania prostego punktu końcowego REST w celu odczytania wiadomości powitalnej z serwera konfiguracji jest podany poniżej -
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;
}
}
Możesz utworzyć wykonywalny plik JAR i uruchomić aplikację Spring Boot za pomocą następujących poleceń Maven lub Gradle -
W przypadku Mavena możesz użyć polecenia pokazanego poniżej -
mvn clean install
Po „BUILD SUCCESS” można znaleźć plik JAR w katalogu docelowym.
W przypadku Gradle możesz użyć polecenia pokazanego poniżej -
gradle clean build
Po „BUILD SUCCESSFUL” możesz znaleźć plik JAR w katalogu build / libs.
Teraz uruchom plik JAR, używając polecenia pokazanego tutaj:
java –jar <JARFILE>
Teraz aplikacja została uruchomiona na porcie Tomcat 8080, jak pokazano tutaj -
Możesz zobaczyć okno logowania w konsoli; config-client aplikacja pobiera konfigurację zhttps://localhost:8888
2017-12-08 12:41:57.682 INFO 1104 --- [
main] c.c.c.ConfigServicePropertySourceLocator :
Fetching config from server at: http://localhost:8888
Teraz kliknij adres URL, http://localhost:8080/ wiadomość powitalna jest ładowana z serwera konfiguracji.
Teraz przejdź i zmień wartość właściwości na serwerze konfiguracji i naciśnij adres URL POST punktu końcowego elementu wykonawczego http://localhost:8080/refresh i zobacz nową wartość właściwości konfiguracji w adresie URL http://localhost:8080/