Spring Boot - Клиент облачной конфигурации
Некоторым приложениям могут потребоваться свойства конфигурации, которые могут нуждаться в изменении, и разработчикам может потребоваться отключить их или перезапустить приложение, чтобы выполнить это. Однако это может привести к простоям в работе и необходимости перезапуска приложения. Spring Cloud Configuration Server позволяет разработчикам загружать новые свойства конфигурации без перезапуска приложения и без простоев.
Работа с сервером конфигурации Spring Cloud
Сначала загрузите проект Spring Boot из https://start.spring.io/и выберите зависимость клиента Spring Cloud Config. Теперь добавьте зависимость Spring Cloud Starter Config в файл конфигурации сборки.
Пользователи Maven могут добавить следующую зависимость в файл pom.xml.
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
Пользователи Gradle могут добавить следующую зависимость в build.gradle файл.
compile('org.springframework.cloud:spring-cloud-starter-config')
Теперь вам нужно добавить аннотацию @RefreshScope в ваше основное приложение Spring Boot. Аннотация @RefreshScope используется для загрузки значения свойств конфигурации с сервера 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);
}
}
Теперь добавьте URL-адрес сервера конфигурации в файл application.properties и укажите имя приложения.
Note - http: // localhost: сервер конфигурации 8888 должен быть запущен перед запуском клиентского приложения конфигурации.
spring.application.name = config-client
spring.cloud.config.uri = http://localhost:8888
Код для написания простой конечной точки REST для чтения приветственного сообщения с сервера конфигурации приведен ниже -
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;
}
}
Вы можете создать исполняемый файл JAR и запустить приложение Spring Boot с помощью следующих команд Maven или Gradle:
Для Maven вы можете использовать команду, показанную ниже -
mvn clean install
После «BUILD SUCCESS» вы можете найти файл JAR в целевом каталоге.
Для Gradle вы можете использовать команду, показанную ниже -
gradle clean build
После «BUILD SUCCESSFUL» вы можете найти файл JAR в каталоге build / libs.
Теперь запустите файл JAR, используя показанную здесь команду:
java –jar <JARFILE>
Теперь приложение запущено на порту 8080 Tomcat, как показано здесь -
Вы можете увидеть журнал в окне консоли; Приложение config-client получает конфигурацию из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
Теперь нажмите URL-адрес, http://localhost:8080/ приветственное сообщение загружается с сервера конфигурации.
Теперь перейдите и измените значение свойства на сервере конфигурации и нажмите URL-адрес POST конечной точки привода. http://localhost:8080/refresh и увидеть новое значение свойства конфигурации в URL http://localhost:8080/