Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
App Configuration verfügt über zwei Bibliotheken für Spring.
-
spring-cloud-azure-appconfiguration-configerfordert Spring Boot und ist abhängig vonspring-cloud-context. -
spring-cloud-azure-appconfiguration-config-weberfordert Spring Web zusammen mit Spring Boot und fügt außerdem Unterstützung für die automatische Überprüfung der Konfigurationsaktualisierung hinzu.
Beide Bibliotheken unterstützen die manuelle Auslösung, um nach aktualisierten Konfigurationswerten zu suchen.
Mithilfe der Funktion Aktualisieren können Sie Ihre Konfigurationswerte aktualisieren, ohne Ihre Anwendung neu starten zu müssen, allerdings werden dabei alle Beans in @RefreshScope neu erstellt. Sie überprüft auf jegliche Änderungen an konfigurierten Triggern, einschließlich Metadaten. Standardmäßig ist das Aktualisierungsintervall, also die Mindestzeit zwischen Überprüfungen auf Änderungen, auf 30 Sekunden festgelegt.
Die automatisierte Aktualisierung von spring-cloud-azure-appconfiguration-config-web wird basierend auf der Aktivität (insbesondere ServletRequestHandledEvent von Spring Web) ausgelöst. Wird ServletRequestHandledEvent nicht ausgelöst, löst die automatische Aktualisierung von spring-cloud-azure-appconfiguration-config-web keine Aktualisierung aus, selbst wenn die Cache-Ablaufzeit verstrichen ist.
Verwenden der manuellen Aktualisierung
Wenn Sie die manuelle Aktualisierung verwenden möchten, beginnen Sie mit einer Spring Boot-App, die App Configuration nutzt. Dies kann beispielsweise die App sein, die Sie durch Ausführen der Anleitung unter Schnellstart: Erstellen einer Java Spring-App mit Azure App Configuration erstellen.
Die App-Konfiguration stellt AppConfigurationRefresh bereit, das überprüft, ob das Aktualisierungsintervall abgelaufen ist. Wenn das Aktualisierungsintervall verstrichen ist, löst es eine Aktualisierung aus.
Aktualisieren Sie HelloController, um
AppConfigurationRefreshzu verwenden.import com.azure.spring.cloud.config.AppConfigurationRefresh; @RestController public class HelloController { private final MessageProperties properties; @Autowired(required = false) private AppConfigurationRefresh refresh; public HelloController(MessageProperties properties) { this.properties = properties; } @GetMapping public String getMessage() throws InterruptedException, ExecutionException { if (refresh != null) { refresh.refreshConfigurations(); } return "Message: " + properties.getMessage(); } }AppConfigurationRefreshvonrefreshConfigurations()gibt einMono-Element zurück. Dieses ist „true“, wenn eine Aktualisierung ausgelöst wurde, und „false“, wenn keine Aktualisierung ausgelöst wurde. „false“ bedeutet, dass die Ablaufzeit des Caches nicht verstrichen ist, keine Änderung vorgenommen wurde oder ein anderer Thread zurzeit auf eine Aktualisierung prüft.Hinweis
Für Bibliotheken wie Spring WebFlux, die nicht-blockierende Aufrufe erfordern, muss
refreshConfigurations()in einen Thread eingeschlossen werden, da das Laden von Konfigurationen einen blockierenden Aufruf erfordert.new Thread(() -> refresh.refreshConfigurations()).start();Zum Aktivieren der Aktualisierung
bootstrap.properties:spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled=true spring.cloud.azure.appconfiguration.stores[0].monitoring.refresh-interval= 30s spring.cloud.azure.appconfiguration.stores[0].monitoring.triggers[0].key=sentinelÖffnen Sie das Azure-Portal, und navigieren Sie zu der App Configuration-Ressource, die Ihrer Anwendung zugeordnet ist. Wählen Sie Konfigurations-Explorer unter Vorgänge aus, und erstellen Sie durch Auswählen von + Erstellen>Schlüssel-Wert ein neues Schlüssel-Wert-Paar, um die folgenden Parameter hinzuzufügen:
Schlüssel Wert Wächter 1 Lassen Sie Bezeichnung und Inhaltstyp vorerst leer.
Wählen Sie Übernehmen.
Erstellen Sie Ihre Spring Boot-Anwendung mit Maven, und führen Sie sie aus.
mvn clean package mvn spring-boot:runÖffnen Sie ein neues Browserfenster, und navigieren Sie zur URL
http://localhost:8080. Die Nachricht für Ihren Schlüssel wird angezeigt.Sie können auch curl zum Testen Ihrer Anwendung verwenden. Beispiel:
curl -X GET http://localhost:8080/Öffnen Sie zum Testen der dynamischen Konfiguration das Azure App Configuration-Portal, das Ihrer Anwendung zugeordnet ist. Wählen Sie den Konfigurations-Explorer aus, und aktualisieren Sie den Wert des angezeigten Schlüssels. Beispiel:
Schlüssel Wert /application/config.message Hallo – Aktualisiert Aktualisieren Sie den zuvor erstellten Sentinel-Schlüssel auf einen neuen Wert. Durch diese Änderung wird die Anwendung veranlasst, alle Konfigurationsschlüssel zu aktualisieren, sobald das Aktualisierungsintervall abgelaufen ist.
Schlüssel Wert Wächter 2 Aktualisieren Sie die Browserseite zweimal, damit die neue Nachricht angezeigt wird. Beim ersten Mal wird die Aktualisierung ausgelöst, beim zweiten Mal werden die Änderungen geladen.
Hinweis
Die Bibliothek überprüft erst nach Ablauf des Aktualisierungsintervalls auf Änderungen. Falls das Aktualisierungsintervall nicht abgelaufen ist, wird nicht auf Änderungen überprüft. Warten Sie, bis das Intervall vergangen ist, und lösen Sie dann die Aktualisierungsprüfung aus.
Verwenden der automatisierten Aktualisierung
Wenn Sie die automatisierte Aktualisierung verwenden möchten, beginnen Sie mit einer Spring Boot-App, die App Configuration nutzt. Dies kann beispielsweise die App sein, die Sie durch Ausführen der Anleitung unter Schnellstart: Erstellen einer Java Spring-App mit Azure App Configuration erstellen.
Öffnen Sie dann die Datei pom.xml in einem Text-Editor, und fügen Sie unter Verwendung des folgenden Codes eine <dependency> für spring-cloud-azure-appconfiguration-config-web hinzu.
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
<version>6.0.0</version>
</dependency>
Zum Aktivieren der Aktualisierung
application.properties:spring.cloud.azure.appconfiguration.stores[0].monitoring.enabled=true spring.cloud.azure.appconfiguration.stores[0].monitoring.refresh-interval= 30s spring.cloud.azure.appconfiguration.stores[0].monitoring.triggers[0].key=sentinelÖffnen Sie das Azure-Portal, und navigieren Sie zu der App Configuration-Ressource, die Ihrer Anwendung zugeordnet ist. Wählen Sie Konfigurations-Explorer unter Vorgänge aus, und erstellen Sie durch Auswählen von + Erstellen>Schlüssel-Wert ein neues Schlüssel-Wert-Paar, um die folgenden Parameter hinzuzufügen:
Schlüssel Wert Wächter 1 Lassen Sie Bezeichnung und Inhaltstyp vorerst leer.
Wählen Sie Übernehmen.
Erstellen Sie Ihre Spring Boot-Anwendung mit Maven, und führen Sie sie aus.
mvn clean package mvn spring-boot:runÖffnen Sie ein neues Browserfenster, und navigieren Sie zur URL
http://localhost:8080. Die Nachricht für Ihren Schlüssel wird jetzt angezeigt.Sie können auch curl zum Testen Ihrer Anwendung verwenden. Beispiel:
curl -X GET http://localhost:8080/Öffnen Sie zum Testen der dynamischen Konfiguration das Azure App Configuration-Portal, das Ihrer Anwendung zugeordnet ist. Wählen Sie den Konfigurations-Explorer aus, und aktualisieren Sie den Wert des angezeigten Schlüssels. Beispiel:
Schlüssel Wert /application/config.message Hallo – Aktualisiert Aktualisieren Sie den zuvor erstellten Sentinel-Schlüssel auf einen neuen Wert. Durch diese Änderung wird die Anwendung veranlasst, alle Konfigurationsschlüssel zu aktualisieren, sobald das Aktualisierungsintervall abgelaufen ist.
Schlüssel Wert Wächter 2 Aktualisieren Sie die Browserseite zweimal, damit die neue Nachricht angezeigt wird. Beim ersten Mal wird die Aktualisierung ausgelöst, beim zweiten Mal werden die Änderungen geladen, wenn die erste Anforderung unter Verwendung des ursprünglichen Bereichs zurückkehrt.
Hinweis
Die Bibliothek überprüft erst nach Ablauf des Aktualisierungsintervalls auf Änderungen. Falls das Aktualisierungsintervall nicht abgelaufen ist, wird nicht auf Änderungen überprüft. Warten Sie, bis das Intervall vergangen ist, und lösen Sie dann die Aktualisierungsprüfung aus.
Nächste Schritte
In diesem Tutorial haben Sie Ihre Spring Boot-App aktiviert, um Konfigurationseinstellungen dynamisch aus App Configuration zu aktualisieren. Weitere Fragen finden Sie in der Referenzdokumentation. Sie enthält alle Details zur Funktionsweise der Spring Cloud Azure App Configuration-Bibliothek. Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie eine von Azure verwaltete Identität hinzufügen, um den Zugriff auf App Configuration zu optimieren.