Spring Boot - Cliente de configuración en la nube
Algunas aplicaciones pueden necesitar propiedades de configuración que pueden necesitar un cambio y los desarrolladores pueden necesitar quitarlas o reiniciar la aplicación para realizar esto. Sin embargo, esto podría provocar un tiempo de inactividad en la producción y la necesidad de reiniciar la aplicación. Spring Cloud Configuration Server permite a los desarrolladores cargar las nuevas propiedades de configuración sin reiniciar la aplicación y sin tiempo de inactividad.
Trabajando con Spring Cloud Configuration Server
Primero, descargue el proyecto Spring Boot de https://start.spring.io/y elija la dependencia del cliente Spring Cloud Config. Ahora, agregue la dependencia Spring Cloud Starter Config en su archivo de configuración de compilación.
Los usuarios de Maven pueden agregar la siguiente dependencia en el archivo pom.xml.
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
Los usuarios de Gradle pueden agregar la siguiente dependencia en el build.gradle archivo.
compile('org.springframework.cloud:spring-cloud-starter-config')
Ahora, debe agregar la anotación @RefreshScope a su aplicación principal Spring Boot. La anotación @RefreshScope se utiliza para cargar el valor de las propiedades de configuración desde el servidor de configuración.
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);
}
}
Ahora, agregue la URL del servidor de configuración en su archivo application.properties y proporcione el nombre de su aplicación.
Note - http: // localhost: 8888 config server debe ejecutarse antes de iniciar la aplicación de cliente de configuración.
spring.application.name = config-client
spring.cloud.config.uri = http://localhost:8888
El código para escribir un punto final REST simple para leer el mensaje de bienvenida del servidor de configuración se proporciona a continuación:
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;
}
}
Puede crear un archivo JAR ejecutable y ejecutar la aplicación Spring Boot mediante los siguientes comandos de Maven o Gradle:
Para Maven, puede usar el comando que se muestra a continuación:
mvn clean install
Después de "BUILD SUCCESS", puede encontrar el archivo JAR en el directorio de destino.
Para Gradle, puede usar el comando que se muestra a continuación:
gradle clean build
Después de "BUILD SUCCESSFUL", puede encontrar el archivo JAR en el directorio build / libs.
Ahora, ejecute el archivo JAR usando el comando que se muestra aquí:
java –jar <JARFILE>
Ahora, la aplicación se ha iniciado en el puerto 8080 de Tomcat como se muestra aquí:
Puede ver la ventana de inicio de sesión de la consola; La aplicación config-client está obteniendo la configuración delhttps://localhost:8888
2017-12-08 12:41:57.682 INFO 1104 --- [
main] c.c.c.ConfigServicePropertySourceLocator :
Fetching config from server at: http://localhost:8888
Ahora presiona la URL, http://localhost:8080/ El mensaje de bienvenida se carga desde el servidor de configuración.
Ahora, vaya y cambie el valor de la propiedad en el servidor de configuración y presione la URL POST del punto final del actuador http://localhost:8080/refresh y vea el nuevo valor de propiedad de configuración en la URL http://localhost:8080/