Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Конфигурация приложения включает две библиотеки для Spring.
- Для
spring-cloud-azure-appconfiguration-configтребуется Spring Boot и зависимость отspring-cloud-context. -
spring-cloud-azure-appconfiguration-config-webтребует Spring Web и Spring Boot, а также поддерживает автоматическую проверку обновления конфигурации.
Обе библиотеки поддерживают активацию вручную для проверки обновленных значений конфигурации.
Обновление позволяет обновить значения конфигурации без перезагрузки приложения, но это приводит к повторному воссозданию всех бинов. @RefreshScope Проверяется наличие любых изменений в настроенных триггерах, включая метаданные. По умолчанию минимальный промежуток времени между проверками изменений (интервал обновления) составляет 30 секунд.
Автоматическое обновление spring-cloud-azure-appconfiguration-config-web активируется в зависимости от активности, в частности от ServletRequestHandledEvent Spring Web. ServletRequestHandledEvent Если ServletRequestHandledEvent не запускается, автоматическое обновление не выполняется, даже если срок действия кэша истек.
Используйте ручное обновление
Чтобы использовать ручное обновление, начните с приложения Spring Boot, которое использует Конфигурацию приложения, например, с приложения, созданного по краткому руководству Spring Boot для Конфигурации приложения.
Конфигурация приложения предоставляет AppConfigurationRefresh, который проверяет, прошел ли интервал обновления. Если интервал обновления прошел, он активирует обновление.
Чтобы использовать
AppConfigurationRefresh, обновите HelloController.import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import com.azure.spring.cloud.appconfiguration.config.AppConfigurationRefresh; @RestController public class HelloController { @Autowired private final AppConfigurationRefresh appConfigurationRefresh; @Autowired private final MyProperties properties; @GetMapping public String hello() { // Manually refresh configuration from Azure App Configuration appConfigurationRefresh.refreshConfigurations().block(); // Read the property value from @ConfigurationProperties bean return "Message: " + properties.getMessage(); } }AppConfigurationRefreshrefreshConfigurations()возвращаетMono, которое равно true, если запускается обновление, и false, если нет. False означает, что срок действия кэша еще не истек, изменений не было, или другой поток в настоящее время проверяет необходимость обновления.Примечание.
Для таких библиотек, как Spring WebFlux, для которых требуются неблокирующие вызовы,
refreshConfigurations()следует обернуть в поток, так как загрузка конфигураций является блокирующим вызовом.new Thread(() -> refresh.refreshConfigurations()).start();Чтобы включить обновление
application.properties:spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled=trueСоздайте приложение Spring Boot с помощью Maven и запустите его.
mvn clean package mvn spring-boot:runВ браузере откройте окно и перейдите по адресу
http://localhost:8080. Появится сообщение, связанное с ключом.Вы также можете использовать инструмент curl для проверки приложения, например следующим образом:
curl -X GET http://localhost:8080/Чтобы проверить динамическую конфигурацию, откройте портал Azure App Configuration, связанный с приложением. Выберите Обозреватель конфигурацийи обновите значение отображаемого ключа, например следующим образом:
Ключ Значение /application/config.message Hello — обновлено Обновите страницу браузера дважды, чтобы увидеть новое сообщение. При первом перезапуске активируется обновление, а при втором — загружаются изменения.
Примечание.
Библиотека проверяет наличие изменений только после прохождения интервала обновления. Если интервал обновления не прошел, он не проверяет наличие изменений. Дождитесь прохождения интервала, а затем запустите проверку обновления.
Использовать автоматическое обновление
Чтобы использовать автоматическое обновление, запустите приложение Spring Boot, использующее Конфигурацию приложений, например приложение, созданное с помощью краткого руководства по созданию приложения Spring Boot для службы "Конфигурация приложений".
Затем откройте файл pom.xml в текстовом редакторе и добавьте <dependency> для spring-cloud-azure-appconfiguration-config-web с помощью следующего кода.
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
<version>7.1.0</version>
</dependency>
Чтобы включить обновление
application.properties:spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled=trueСоздайте приложение Spring Boot с помощью Maven и запустите его.
mvn clean package mvn spring-boot:runВ браузере откройте окно и перейдите по адресу
http://localhost:8080. Теперь отображается сообщение, связанное с ключом.Вы также можете использовать инструмент curl для проверки приложения, например следующим образом:
curl -X GET http://localhost:8080/Чтобы проверить динамическую конфигурацию, откройте портал Azure App Configuration, связанный с приложением. Выберите Обозреватель конфигурацийи обновите значение отображаемого ключа, например следующим образом:
Ключ Значение /application/config.message Hello — обновлено Обновите страницу браузера дважды, чтобы увидеть новое сообщение. При первом перезапуске активируется обновление, а при втором — загружаются изменения, так как первый запрос возвращается с использованием исходной области.
Примечание.
Библиотека проверяет наличие изменений только после прохождения интервала обновления. Если интервал обновления не прошел, он не проверяет наличие изменений. Дождитесь прохождения интервала, а затем запустите проверку обновления.
Следующие шаги
В рамках этого руководства вы включили в приложении Spring Boot динамическое обновление параметров конфигурации из службы "Конфигурация приложения". Для получения дополнительной информации см. справочную документацию, где содержатся все подробности о том, как работает библиотека Spring Cloud Azure App Configuration. Чтобы узнать, как использовать управляемое удостоверение Azure для упрощения доступа к конфигурации приложений, перейдите к следующему руководству.