Spring Boot - Client de configuration cloud

Certaines applications peuvent avoir besoin de propriétés de configuration qui peuvent nécessiter une modification et les développeurs peuvent avoir besoin de les supprimer ou de redémarrer l'application pour effectuer cela. Cependant, cela peut entraîner des temps d'arrêt de la production et la nécessité de redémarrer l'application. Spring Cloud Configuration Server permet aux développeurs de charger les nouvelles propriétés de configuration sans redémarrer l'application et sans aucun temps d'arrêt.

Travailler avec Spring Cloud Configuration Server

Tout d'abord, téléchargez le projet Spring Boot à partir de https://start.spring.io/et choisissez la dépendance Spring Cloud Config Client. Maintenant, ajoutez la dépendance Spring Cloud Starter Config dans votre fichier de configuration de build.

Les utilisateurs Maven peuvent ajouter la dépendance suivante dans le fichier pom.xml.

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

Les utilisateurs Gradle peuvent ajouter la dépendance suivante dans le build.gradle fichier.

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

Vous devez maintenant ajouter l'annotation @RefreshScope à votre application Spring Boot principale. L'annotation @RefreshScope est utilisée pour charger la valeur des propriétés de configuration à partir du serveur 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);
   }
}

Maintenant, ajoutez l'URL du serveur de configuration dans votre fichier application.properties et indiquez le nom de votre application.

Note - Le serveur de configuration http: // localhost: 8888 doit être exécuté avant de démarrer l'application client de configuration.

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

Le code pour écrire un simple point de terminaison REST pour lire le message de bienvenue du serveur de configuration est donné ci-dessous -

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

Vous pouvez créer un fichier JAR exécutable et exécuter l'application Spring Boot à l'aide des commandes Maven ou Gradle suivantes:

Pour Maven, vous pouvez utiliser la commande ci-dessous -

mvn clean install

Après «BUILD SUCCESS», vous pouvez trouver le fichier JAR sous le répertoire cible.

Pour Gradle, vous pouvez utiliser la commande ci-dessous -

gradle clean build

Après «BUILD SUCCESSFUL», vous pouvez trouver le fichier JAR dans le répertoire build / libs.

Maintenant, exécutez le fichier JAR en utilisant la commande indiquée ici:

java –jar <JARFILE>

Maintenant, l'application a démarré sur le port Tomcat 8080 comme indiqué ici -

Vous pouvez voir le journal dans la fenêtre de la console; l'application config-client récupère la configuration depuis lehttps://localhost:8888

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

Maintenant, appuyez sur l'URL, http://localhost:8080/ le message de bienvenue est chargé à partir du serveur de configuration.

Maintenant, changez la valeur de la propriété sur le serveur de configuration et appuyez sur l'URL POST du point final de l'actionneur http://localhost:8080/refresh et voir la nouvelle valeur de la propriété de configuration dans l'URL http://localhost:8080/