Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
App Configuration heeft twee bibliotheken voor Spring.
-
spring-cloud-azure-appconfiguration-configvereist Spring Boot en neemt een afhankelijkheid opspring-cloud-context. -
spring-cloud-azure-appconfiguration-config-webvereist Spring Web samen met Spring Boot en voegt ook ondersteuning toe voor het automatisch controleren van het vernieuwen van de configuratie.
Beide bibliotheken ondersteunen handmatige triggering om te controleren op vernieuwde configuratiewaarden.
Met Vernieuwen kunt u uw configuratiewaarden bijwerken zonder dat u de toepassing opnieuw hoeft op te starten, hoewel alle bonen in de @RefreshScope toepassing opnieuw worden gemaakt. Er wordt gecontroleerd op wijzigingen in geconfigureerde triggers, inclusief metagegevens. De minimale tijd tussen controles op wijzigingen, vernieuwingsinterval, is standaard ingesteld op 30 seconden.
spring-cloud-azure-appconfiguration-config-web's geautomatiseerde vernieuwing wordt geactiveerd op basis van activiteit, met name Spring Web's ServletRequestHandledEvent. Als een ServletRequestHandledEvent niet wordt geactiveerd, spring-cloud-azure-appconfiguration-config-webactiveert automatische vernieuwing geen vernieuwing, zelfs niet als de verlooptijd van de cache is verlopen.
Handmatig vernieuwen gebruiken
Als u handmatig vernieuwen wilt gebruiken, begint u met een Spring Boot-app die gebruikmaakt van App Configuration, zoals de app die u maakt door de Spring Boot-quickstart voor App Configuration te volgen.
App Configuration stelt AppConfigurationRefresh bloot, waarmee wordt gecontroleerd of het vernieuwingsinterval is verstreken. Als het vernieuwingsinterval is verstreken, worden de gegevens ververst.
Werk HelloController bij om te gebruiken
AppConfigurationRefresh.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(); } }AppConfigurationRefresh'srefreshConfigurations()retourneert eenMonowaarde die waar is als een vernieuwing wordt geactiveerd en onwaar als dat niet het geval is. Onwaar betekent dat de verlooptijd van de cache niet is verlopen, dat er geen wijziging is of dat er momenteel wordt gecontroleerd op een vernieuwing door een andere thread.Notitie
Voor bibliotheken zoals Spring WebFlux waarvoor niet-blokkerende aanroepen zijn vereist,
refreshConfigurations()moet deze in een thread worden verpakt omdat het laden van configuraties een blokkeringsaanroep vereist.new Thread(() -> refresh.refreshConfigurations()).start();Vernieuwen bijwerken
bootstrap.propertiesinschakelen: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=sentinelOpen Azure Portal en navigeer naar uw App Configuration-resource die is gekoppeld aan uw toepassing. Selecteer Configuration Explorer onder Bewerkingen en maak een nieuw sleutel-waardepaar door +om de volgende parameters toe te voegen:
Sleutel Weergegeven als Sentinel 1 Laat Label en Inhoudstype nog even leeg.
Selecteer Toepassen.
Maak uw Spring Boot-app met Maven en voer deze uit.
mvn clean package mvn spring-boot:runOpen een browservenster en ga naar de URL:
http://localhost:8080. U ziet het bericht dat is gekoppeld aan uw sleutel.U kunt ook curl gebruiken om uw toepassing te testen, bijvoorbeeld:
curl -X GET http://localhost:8080/Als u de dynamische configuratie wilt testen, opent u de Azure App Configuration-portal die bij uw toepassing hoort. Selecteer Configuratie Explorer en werk de waarde van uw weergegeven sleutel bij, bijvoorbeeld:
Sleutel Weergegeven als /application/config.message Hallo - bijgewerkt Werk de sentinel-sleutel bij die u eerder hebt gemaakt naar een nieuwe waarde. Met deze wijziging wordt de toepassing geactiveerd om alle configuratiesleutels te vernieuwen zodra het vernieuwingsinterval is doorgegeven.
Sleutel Weergegeven als Sentinel 2 Vernieuw de browserpagina twee keer om het nieuwe bericht weer te geven. De eerste keer wordt de vernieuwing geactiveerd, de tweede laadt de wijzigingen.
Notitie
De bibliotheek controleert pas op wijzigingen nadat het vernieuwingsinterval is verstreken. Als het vernieuwingsinterval nog niet is verlopen, wordt er niet gecontroleerd op wijzigingen. Wacht tot het interval is verstreken en activeer vervolgens de vernieuwingscontrole.
Automatisch vernieuwen gebruiken
Als u automatisch vernieuwen wilt gebruiken, begint u met een Spring Boot-app die gebruikmaakt van App Configuration, zoals de app die u hebt gemaakt door de Spring Boot-quickstart voor App Configuration te volgen.
Open vervolgens het pom.xml bestand in een teksteditor en voeg een <dependency> bestand toe voor spring-cloud-azure-appconfiguration-config-web het gebruik van de volgende code.
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-appconfiguration-config-web</artifactId>
<version>6.0.0</version>
</dependency>
Vernieuwen bijwerken
application.propertiesinschakelen: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=sentinelOpen Azure Portal en navigeer naar uw App Configuration-resource die is gekoppeld aan uw toepassing. Selecteer Configuration Explorer onder Bewerkingen en maak een nieuw sleutel-waardepaar door +om de volgende parameters toe te voegen:
Sleutel Weergegeven als Sentinel 1 Laat Label en Inhoudstype nog even leeg.
Selecteer Toepassen.
Maak uw Spring Boot-app met Maven en voer deze uit.
mvn clean package mvn spring-boot:runOpen een browservenster en ga naar de URL:
http://localhost:8080. U ziet nu het bericht dat is gekoppeld aan uw sleutel.U kunt ook curl gebruiken om uw toepassing te testen, bijvoorbeeld:
curl -X GET http://localhost:8080/Als u de dynamische configuratie wilt testen, opent u de Azure App Configuration-portal die bij uw toepassing hoort. Selecteer Configuratie Explorer en werk de waarde van uw weergegeven sleutel bij, bijvoorbeeld:
Sleutel Weergegeven als /application/config.message Hallo - bijgewerkt Werk de sentinel-sleutel bij die u eerder hebt gemaakt naar een nieuwe waarde. Met deze wijziging wordt de toepassing geactiveerd om alle configuratiesleutels te vernieuwen zodra het vernieuwingsinterval is doorgegeven.
Sleutel Weergegeven als Sentinel 2 Vernieuw de browserpagina twee keer om het nieuwe bericht weer te geven. De eerste keer wordt de vernieuwing geactiveerd, de tweede laadt de wijzigingen, omdat de eerste aanvraag wordt geretourneerd met behulp van het oorspronkelijke bereik.
Notitie
De bibliotheek controleert pas op wijzigingen nadat het vernieuwingsinterval is verstreken. Als het vernieuwingsinterval nog niet is verlopen, wordt er niet gecontroleerd op wijzigingen. Wacht tot het interval is verstreken en activeer vervolgens de vernieuwingscontrole.
Volgende stappen
In deze zelfstudie hebt u uw Spring Boot-app ingeschakeld voor het dynamisch vernieuwen van configuratie-instellingen vanuit App Configuration. Zie de referentiedocumentatie voor meer vragen en bevat alle details over de werking van de Spring Cloud Azure-app Configuration-bibliotheek. Als u wilt weten hoe u een door Azure beheerde identiteit kunt gebruiken om de toegang tot App Configuration te stroomlijnen, gaat u verder met de volgende zelfstudie.