Spring Boot - cliente de configuração em nuvem

Alguns aplicativos podem precisar de propriedades de configuração que podem precisar de uma mudança e os desenvolvedores podem precisar desativá-los ou reiniciar o aplicativo para fazer isso. No entanto, isso pode levar a um tempo de inatividade na produção e à necessidade de reiniciar o aplicativo. O Spring Cloud Configuration Server permite que os desenvolvedores carreguem as novas propriedades de configuração sem reiniciar o aplicativo e sem qualquer tempo de inatividade.

Trabalhando com Spring Cloud Configuration Server

Primeiro, baixe o projeto Spring Boot em https://start.spring.io/e escolha a dependência do cliente Spring Cloud Config. Agora, adicione a dependência Spring Cloud Starter Config em seu arquivo de configuração de compilação.

Os usuários do Maven podem adicionar a seguinte dependência ao arquivo pom.xml.

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

Os usuários do Gradle podem adicionar a seguinte dependência ao build.gradle Arquivo.

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

Agora, você precisa adicionar a anotação @RefreshScope ao seu aplicativo Spring Boot principal. A anotação @RefreshScope é usada para carregar o valor das propriedades de configuração do servidor de configuração.

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

Agora, inclua a URL do servidor de configuração em seu arquivo application.properties e forneça o nome de seu aplicativo.

Note - http: // localhost: 8888 config server deve ser executado antes de iniciar o aplicativo cliente de configuração.

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

O código para escrever um endpoint REST simples para ler a mensagem de boas-vindas do servidor de configuração é fornecido abaixo -

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

Você pode criar um arquivo JAR executável e executar o aplicativo Spring Boot usando os seguintes comandos Maven ou Gradle -

Para Maven, você pode usar o comando mostrado abaixo -

mvn clean install

Após “BUILD SUCCESS”, você pode encontrar o arquivo JAR no diretório de destino.

Para Gradle, você pode usar o comando mostrado abaixo -

gradle clean build

Depois de “BUILD SUCCESSFUL”, você pode encontrar o arquivo JAR no diretório build / libs.

Agora, execute o arquivo JAR usando o comando mostrado aqui:

java –jar <JARFILE>

Agora, o aplicativo foi iniciado na porta 8080 do Tomcat, conforme mostrado aqui -

Você pode ver a janela do console de login; aplicativo cliente de configuração está buscando a configuração dohttps://localhost:8888

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

Agora acesse o URL, http://localhost:8080/ A mensagem de boas-vindas é carregada do servidor de configuração.

Agora, vá e altere o valor da propriedade no servidor de configuração e acesse a URL de POST do endpoint do atuador http://localhost:8080/refresh e veja o novo valor da propriedade de configuração no URL http://localhost:8080/