Azure Storage Queue gebruiken in Spring-toepassingen

In dit artikel wordt gedemonstreerd hoe u Azure Storage Queue gebruikt in Java toepassingen die zijn gebouwd met Spring Framework.

Azure Storage Queue implementeert cloudwachtrijen om communicatie tussen onderdelen van een gedistribueerde toepassing mogelijk te maken. Elke wachtrij houdt een lijst bij van berichten die kunnen worden toegevoegd door een afzenderonderdeel en kunnen worden verwerkt door een ontvangeronderdeel. Met een wachtrij kan uw toepassing onmiddellijk worden geschaald om aan de vraag te voldoen.

Spring Cloud Azure biedt verschillende modules voor het gebruik van Spring-frameworks voor het verzenden van berichten naar en het ontvangen van berichten van Azure Storage Wachtrijen. U kunt deze modules onafhankelijk gebruiken of combineren voor verschillende use cases, zoals beschreven in de volgende lijst:

Vereisten

Notitie

Als u uw account toegang wilt verlenen tot resources, wijst u in uw zojuist gemaakte Azure Storage-account de rol Storage Queue Data Contributor toe aan het Microsoft Entra account dat u momenteel gebruikt. Voor meer informatie, zie Azure-rollen toewijzen met behulp van de Azure-portal.

Belangrijk

Spring Boot versie 2.5 of hoger is vereist om de stappen in deze zelfstudie uit te voeren.

Uw lokale omgeving voorbereiden

In deze handleiding hebben de configuraties en code geen verificatie uitgevoerd. Voor het maken van verbinding met een Azure-service is echter verificatie vereist. Als u de verificatie wilt voltooien, moet u de Azure Identity-clientbibliotheek gebruiken. Spring Cloud Azure maakt gebruik van DefaultAzureCredential, die de Azure Identity-bibliotheek biedt om u te helpen referenties te verkrijgen zonder codewijzigingen.

DefaultAzureCredential ondersteunt meerdere verificatiemethoden en bepaalt welke methode tijdens runtime moet worden gebruikt. Met deze aanpak kan uw app verschillende verificatiemethoden gebruiken in verschillende omgevingen, zoals lokale of productieomgevingen, zonder omgevingsspecifieke code te implementeren. Zie de sectie DefaultAzureCredential van Authenticate Azure-hosted Java applications voor meer informatie.

Zie Azure-verificatie in Java ontwikkelomgevingen als u Azure CLI, IntelliJ of andere methoden wilt gebruiken om de verificatie in lokale ontwikkelomgevingen te voltooien. Als u de verificatie in Azure hostingomgevingen wilt voltooien, raden we u aan beheerde identiteit te gebruiken. Zie Wat zijn beheerde identiteiten voor Azure resources?

Spring Cloud Azure Storage Queue Starter gebruiken

De Spring Cloud Azure Storage Queue Starter-module importeert Azure Storage Queue-clientbibliotheek voor Java met het Spring Boot-framework. U kunt Spring Cloud Azure en de Azure SDK samen gebruiken in een niet-wederzijds exclusief patroon. U kunt de Storage Queue Java client-API dus blijven gebruiken in uw Spring-toepassing.

Afhankelijkheden toevoegen

Als u de Spring Cloud Azure Storage Queue Starter-module wilt installeren, voegt u de volgende afhankelijkheden toe aan uw bestand pom.xml:

  • Het Spring Cloud Azure Materiaaloverzicht (BOM):

    <dependencyManagement>
       <dependencies>
         <dependency>
           <groupId>com.azure.spring</groupId>
           <artifactId>spring-cloud-azure-dependencies</artifactId>
           <version>7.4.0</version>
           <type>pom</type>
           <scope>import</scope>
           </dependency>
       </dependencies>
    </dependencyManagement>
    

    Notitie

    Als u Spring Boot 4.0.x gebruikt, stelt u de spring-cloud-azure-dependencies versie in op 7.4.0.

    Als u Spring Boot 3.5.x gebruikt, stelt u de spring-cloud-azure-dependencies versie in op 6.5.0.

    Als u Spring Boot 3.1.x-3.5.x gebruikt, moet u de spring-cloud-azure-dependencies versie instellen op 5.25.0.

    Als u Spring Boot 2.x gebruikt, moet u de spring-cloud-azure-dependencies versie instellen op 4.20.0.

    Deze BOM (Bill of Material) moet worden geconfigureerd in de <dependencyManagement> sectie van uw pom.xml-bestand. Dit zorgt ervoor dat alle Spring Cloud-Azure afhankelijkheden dezelfde versie gebruiken.

    Zie Which Version of Spring Cloud Azure Should I Use voor meer informatie over de versie die voor deze BOM wordt gebruikt.

  • Het artefact voor Spring Cloud Azure Queue Storage Queue:

    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-starter-storage-queue</artifactId>
    </dependency>
    

Codeer uw toepassing om berichten te verzenden en te ontvangen

In deze sectie wordt beschreven hoe u de Azure Queue Storage-clients gebruikt in de context van een Spring-toepassing. U hebt de volgende twee opties:

  • Gebruik automatische configuratie van Spring Boot en gebruik out-of-the-box-clients vanuit de Spring-context (aanbevolen).
  • Bouw de client programmatisch.

Met automatische configuratie kunt u clientbeans autowiren vanuit de Spring-inversion-of-control (IoC) container. Deze aanpak biedt u een flexibelere en efficiëntere ervaring bij het ontwikkelen met Storage Queue-clients. Automatische configuratie heeft de volgende voordelen:

  • Automatische configuratie maakt gebruik van externe configuratie , zodat u met dezelfde toepassingscode in verschillende omgevingen kunt werken.

  • U kunt het proces voor het leren van het opbouwpatroon delegeren aan het Spring Boot-framework en de clients registreren bij de toepassingscontext. U richt zich alleen op hoe u de software-clients kunt gebruiken met uw eigen zakelijke vereisten.

  • U kunt de statusindicator gebruiken om de status en status van uw toepassing en interne onderdelen te controleren.

In de codevoorbeelden in de volgende secties ziet u hoe u deze kunt gebruiken QueueClient met de twee beschreven alternatieven.

Aanbeveling

Azure Java SDK voor Storage Queue biedt meerdere clients om te communiceren met Storage Queue. De starter biedt ook automatische configuratie voor alle Storage Queue-clients en clientbouwers. Dit artikel gebruikt alleen QueueClient als voorbeeld.

Automatische configuratie van Spring Boot gebruiken

Als u berichten wilt verzenden naar en ontvangen van Azure Storage wachtrijen, gebruikt u de volgende stappen om de toepassing te configureren:

  1. Configureer de naam en wachtrijnaam van uw opslagaccount, zoals wordt weergegeven in het volgende voorbeeld:

    spring.cloud.azure.storage.queue.account-name=<your-storage-account-name>
    spring.cloud.azure.storage.queue.queue-name=<your-storage-queue-name>
    
  2. Injecteer de QueueClient in je Spring-toepassing en roep de gerelateerde API aan om berichten te verzenden, zoals wordt weergegeven in het volgende voorbeeld:

    import com.azure.storage.queue.QueueClient;
    import com.azure.storage.queue.models.QueueMessageItem;
    import com.azure.storage.queue.models.SendMessageResult;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class StorageQueueClientApplication implements CommandLineRunner {
    
        private final static Logger logger = LoggerFactory.getLogger(StorageQueueClientApplication.class);
    
        @Autowired
        private QueueClient queueClient;
    
        public static void main(String[] args) {
            SpringApplication.run(StorageQueueClientApplication.class, args);
        }
    
        @Override
        public void run(String... args) {
         // Using the QueueClient object, call the create method to create the queue in your storage account.
            queueClient.create();
            SendMessageResult sendMessageResult = queueClient.sendMessage("Hello world");
            logger.info("Send message id: {}", sendMessageResult.getMessageId());
    
            QueueMessageItem queueMessageItem = queueClient.receiveMessage();
            logger.info("Received message: {}", new String(queueMessageItem.getBody().toBytes()));
        }
    
    }
    
  3. Start de toepassing. Na het starten produceert de toepassing logboeken die vergelijkbaar zijn met het volgende voorbeeld:

    Send message id: ...
    Received message: Hello world
    

De client programmatisch bouwen

U kunt zelf de clientcomponenten bouwen, maar het proces is ingewikkeld. In Spring Boot-toepassingen moet u eigenschappen beheren, het opbouwpatroon leren kennen en de clients registreren bij uw Spring-toepassingscontext. In de volgende stappen ziet u hoe u dit doet.

  1. Bouw de client programmatisch in uw Spring-toepassing, zoals wordt weergegeven in het volgende voorbeeld. Vervang de <storage-account-name> tijdelijke aanduiding door uw eigen waarde.

    import com.azure.identity.DefaultAzureCredentialBuilder;
    import com.azure.storage.queue.QueueClient;
    import com.azure.storage.queue.QueueClientBuilder;
    import com.azure.storage.queue.models.QueueMessageItem;
    import com.azure.storage.queue.models.SendMessageResult;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class StorageQueueClientApplication implements CommandLineRunner {
    
        private final static String queueName = "test-queue";
        private final static String endpoint = "https://<storage-account-name>.queue.core.windows.net/";
        private final static Logger logger = LoggerFactory.getLogger(StorageQueueClientApplication.class);
    
        QueueClient queueClient = new QueueClientBuilder()
            .endpoint(endpoint)
            .queueName(queueName)
            .credential(new DefaultAzureCredentialBuilder().build())
            .buildClient();
    
        public static void main(String[] args) {
            SpringApplication.run(StorageQueueClientApplication.class, args);
        }
    
        @Override
        public void run(String... args) {
         // Using the QueueClient object, call the create method to create the queue in your storage account.
            queueClient.create();
            SendMessageResult sendMessageResult = queueClient.sendMessage("Hello world");
            logger.info("Send message id: {}", sendMessageResult.getMessageId());
    
            QueueMessageItem queueMessageItem = queueClient.receiveMessage();
            logger.info("Received message: {}", new String(queueMessageItem.getBody().toBytes()));
        }
    
    }
    
  2. Start de toepassing. Na het starten produceert de toepassing logboeken die vergelijkbaar zijn met het volgende voorbeeld:

    Send message id: ...
    Received message: Hello world
    

In de volgende lijst ziet u redenen waarom deze code niet flexibel of elegant is:

  • De namen van het opslagaccount en de wachtrij zijn vastgelegd.
  • Wanneer u @Value gebruikt om configuraties uit de Spring-omgeving te verkrijgen, kunt u geen IDE-hints hebben in het application.properties-bestand.
  • Als u een microservicescenario hebt, moet u de code in elk project dupliceren en het is eenvoudig om fouten te maken en moeilijk consistent te zijn.

Gelukkig hoef je zelf geen clientbeans te bouwen met Spring Cloud Azure. In plaats daarvan kunt u ze rechtstreeks injecteren en de configuratie-eigenschappen gebruiken waarmee u al bekend bent om de opslagwachtrij te configureren. Zie Spring Cloud Azure configuratie-eigenschappen voor meer informatie.

Spring Cloud Azure biedt ook de volgende globale configuraties voor verschillende scenario's. Zie Spring Cloud Azure algemene configuratie-eigenschappen voor meer informatie.

  • Proxyopties.
  • Opties voor opnieuw proberen.

U kunt ook verbinding maken met verschillende Azure clouds. Zie Connect to different Azure clouds voor meer informatie.

Gebruik Spring Messaging voor Azure Storage Queue

De module Spring Messaging Azure Storage Queue biedt ondersteuning voor het Spring Messaging framework met Azure Queue Storage.

Als u Spring Messaging Azure Storage Queue gebruikt, kunt u de functie StorageQueueTemplate gebruiken om berichten asynchroon en synchroon naar opslagwachtrijen te verzenden.

In de volgende secties ziet u hoe u Spring Messaging Azure Storage Queue gebruikt om berichten te verzenden naar en te ontvangen van opslagwachtrijen.

Afhankelijkheden toevoegen

Als u de Spring Messaging Azure Storage Queue-module wilt installeren, voegt u de volgende afhankelijkheden toe aan het bestand pom.xml:

  • Het Spring Cloud Azure Materiaaloverzicht (BOM):

    <dependencyManagement>
       <dependencies>
         <dependency>
           <groupId>com.azure.spring</groupId>
           <artifactId>spring-cloud-azure-dependencies</artifactId>
           <version>7.4.0</version>
           <type>pom</type>
           <scope>import</scope>
           </dependency>
       </dependencies>
    </dependencyManagement>
    

    Notitie

    Als u Spring Boot 4.0.x gebruikt, stelt u de spring-cloud-azure-dependencies versie in op 7.4.0.

    Als u Spring Boot 3.5.x gebruikt, stelt u de spring-cloud-azure-dependencies versie in op 6.5.0.

    Als u Spring Boot 3.1.x-3.5.x gebruikt, moet u de spring-cloud-azure-dependencies versie instellen op 5.25.0.

    Als u Spring Boot 2.x gebruikt, moet u de spring-cloud-azure-dependencies versie instellen op 4.20.0.

    Deze BOM (Bill of Material) moet worden geconfigureerd in de <dependencyManagement> sectie van uw pom.xml-bestand. Dit zorgt ervoor dat alle Spring Cloud-Azure afhankelijkheden dezelfde versie gebruiken.

    Zie Which Version of Spring Cloud Azure Should I Use voor meer informatie over de versie die voor deze BOM wordt gebruikt.

  • De Spring Cloud Azure starter- en Spring Messaging Storage-wachtrijartefacten:

    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-messaging-azure-storage-queue</artifactId>
    </dependency>
    

Codeer uw toepassing om berichten te verzenden en te ontvangen

Gebruik de volgende stappen om uw toepassing te configureren en te codeeren:

  1. Configureer de Azure Storage-accountnaam voor uw opslagwachtrijen, zoals wordt weergegeven in het volgende voorbeeld:

    spring.cloud.azure.storage.queue.account-name=<your-storage-account-name>
    
  2. Verbind een afzender en een ontvanger om berichten te verzenden en te ontvangen met Spring, zoals wordt weergegeven in het volgende voorbeeld. Vervang de <storage-queue-name> tijdelijke aanduiding door uw eigen waarde.

    import com.azure.spring.messaging.AzureHeaders;
    import com.azure.spring.messaging.checkpoint.Checkpointer;
    import com.azure.spring.messaging.storage.queue.core.StorageQueueTemplate;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.messaging.Message;
    import org.springframework.messaging.support.MessageBuilder;
    import java.time.Duration;
    
    @SpringBootApplication
    public class StorageQueueMessagingApplication implements CommandLineRunner {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(StorageQueueMessagingApplication.class);
        private static final String STORAGE_QUEUE_NAME = "<storage-queue-name>";
    
        @Autowired
        StorageQueueTemplate storageQueueTemplate;
    
        public static void main(String[] args) {
            SpringApplication.run(StorageQueueMessagingApplication.class, args);
        }
    
        @Override
        public void run(String... args) {
            storageQueueTemplate
                .sendAsync(STORAGE_QUEUE_NAME, MessageBuilder.withPayload("Hello world").build())
                .subscribe();
            LOGGER.info("Message was sent successfully.");
    
            Message<?> message = storageQueueTemplate.receiveAsync(STORAGE_QUEUE_NAME, Duration.ofSeconds(30)).block();
            LOGGER.info("Received message: {}", new String((byte[]) message.getPayload()));
        }
    
    }
    
  3. Start de toepassing. Na het starten produceert de toepassing logboeken die vergelijkbaar zijn met het volgende voorbeeld:

    Message was sent successfully.
    ...
    Received message: Hello World
    

Spring Integration Azure Storage-wachtrij gebruiken

De module Spring Integration Azure Storage Queue biedt ondersteuning voor het framework Spring Integration met opslagwachtrijen.

Als uw Spring-toepassing gebruikmaakt van Spring Integration-berichtkanalen, kunt u berichten routeren tussen uw berichtkanalen en opslagwachtrij met behulp van kanaaladapters. Een binnenkomende kanaaladapter stuurt berichten van een opslagwachtrij door naar een berichtkanaal. Een uitgaande kanaaladapter publiceert berichten van een berichtkanaal naar een opslagwachtrij.

In de volgende secties ziet u hoe u Spring Integration Azure Storage Queue gebruikt om berichten naar en van opslagwachtrijen te verzenden en te ontvangen.

Afhankelijkheden toevoegen

Als u de Spring Integration Azure Storage Queue-module wilt installeren, voegt u de volgende afhankelijkheden toe aan het bestand pom.xml:

  • Het Spring Cloud Azure Materiaaloverzicht (BOM):

    <dependencyManagement>
       <dependencies>
         <dependency>
           <groupId>com.azure.spring</groupId>
           <artifactId>spring-cloud-azure-dependencies</artifactId>
           <version>7.4.0</version>
           <type>pom</type>
           <scope>import</scope>
           </dependency>
       </dependencies>
    </dependencyManagement>
    

    Notitie

    Als u Spring Boot 4.0.x gebruikt, stelt u de spring-cloud-azure-dependencies versie in op 7.4.0.

    Als u Spring Boot 3.5.x gebruikt, stelt u de spring-cloud-azure-dependencies versie in op 6.5.0.

    Als u Spring Boot 3.1.x-3.5.x gebruikt, moet u de spring-cloud-azure-dependencies versie instellen op 5.25.0.

    Als u Spring Boot 2.x gebruikt, moet u de spring-cloud-azure-dependencies versie instellen op 4.20.0.

    Deze BOM (Bill of Material) moet worden geconfigureerd in de <dependencyManagement> sectie van uw pom.xml-bestand. Dit zorgt ervoor dat alle Spring Cloud-Azure afhankelijkheden dezelfde versie gebruiken.

    Zie Which Version of Spring Cloud Azure Should I Use voor meer informatie over de versie die voor deze BOM wordt gebruikt.

  • De Spring Integration Azure Storage Queue-artefacten:

    <dependency>
      <groupId>com.azure.spring</groupId>
      <artifactId>spring-cloud-azure-starter-integration-storage-queue</artifactId>
    </dependency>
    

Codeer uw toepassing om berichten te verzenden en te ontvangen

Gebruik de volgende stappen om uw toepassing te configureren en te codeeren:

  1. Configureer de Azure Storage-accountnaam voor uw opslagwachtrijen.

    spring.cloud.azure.storage.queue.account-name=<your-storage-account-name>
    
  2. Maak een nieuwe QueueReceiveConfiguration Java-klasse, zoals wordt weergegeven in het volgende voorbeeld. Deze klasse wordt gebruikt om een ontvanger van een bericht te definiëren. Vervang de <storage-queue-name> tijdelijke aanduiding door uw eigen waarde.

    import com.azure.spring.integration.storage.queue.inbound.StorageQueueMessageSource;
    import com.azure.spring.messaging.AzureHeaders;
    import com.azure.spring.messaging.checkpoint.Checkpointer;
    import com.azure.spring.messaging.storage.queue.core.StorageQueueTemplate;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.integration.annotation.InboundChannelAdapter;
    import org.springframework.integration.annotation.Poller;
    import org.springframework.integration.annotation.ServiceActivator;
    import org.springframework.messaging.handler.annotation.Header;
    
    @Configuration
    public class QueueReceiveConfiguration {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(QueueReceiveConfiguration.class);
        private static final String STORAGE_QUEUE_NAME = "<storage-queue-name>";
        private static final String INPUT_CHANNEL = "input";
    
        @Bean
        @InboundChannelAdapter(channel = INPUT_CHANNEL, poller = @Poller(fixedDelay = "1000"))
        public StorageQueueMessageSource storageQueueMessageSource(StorageQueueTemplate storageQueueTemplate) {
            return new StorageQueueMessageSource(STORAGE_QUEUE_NAME, storageQueueTemplate);
        }
    
        @ServiceActivator(inputChannel = INPUT_CHANNEL)
        public void messageReceiver(byte[] payload, @Header(AzureHeaders.CHECKPOINTER) Checkpointer checkpointer) {
            String message = new String(payload);
            LOGGER.info("Received message: {}", message);
        }
    
    }
    
  3. Maak een nieuwe QueueSendConfiguration Java-klasse, zoals wordt weergegeven in het volgende voorbeeld. Deze klasse wordt gebruikt om een afzender van een bericht te definiëren. Vervang de <storage-queue-name> tijdelijke aanduiding door uw eigen waarde.

    import com.azure.spring.integration.core.handler.DefaultMessageHandler;
    import com.azure.spring.messaging.storage.queue.core.StorageQueueTemplate;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.integration.annotation.MessagingGateway;
    import org.springframework.integration.annotation.ServiceActivator;
    import org.springframework.messaging.MessageHandler;
    import org.springframework.util.concurrent.ListenableFutureCallback;
    
    @Configuration
    public class QueueSendConfiguration {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(QueueSendConfiguration.class);
        private static final String STORAGE_QUEUE_NAME = "<storage-queue-name>";
        private static final String OUTPUT_CHANNEL = "output";
    
        @Bean
        @ServiceActivator(inputChannel = OUTPUT_CHANNEL)
        public MessageHandler messageSender(StorageQueueTemplate storageQueueTemplate) {
            DefaultMessageHandler handler = new DefaultMessageHandler(STORAGE_QUEUE_NAME, storageQueueTemplate);
            handler.setSendCallback(new ListenableFutureCallback<Void>() {
                @Override
                public void onSuccess(Void result) {
                    LOGGER.info("Message was sent successfully.");
                }
    
                @Override
                public void onFailure(Throwable ex) {
                    LOGGER.info("There was an error sending the message.");
                }
            });
            return handler;
        }
    
        @MessagingGateway(defaultRequestChannel = OUTPUT_CHANNEL)
        public interface StorageQueueOutboundGateway {
            void send(String text);
        }
    
    }
    
  4. Verbind een afzender en een ontvanger om berichten te verzenden en te ontvangen met Spring.

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.ConfigurableApplicationContext;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.integration.config.EnableIntegration;
    
    @SpringBootApplication
    @EnableIntegration
    @Configuration(proxyBeanMethods = false)
    public class StorageQueueIntegrationApplication {
    
        public static void main(String[] args) {
            ConfigurableApplicationContext applicationContext = SpringApplication.run(StorageQueueIntegrationApplication.class, args);
            QueueSendConfiguration.StorageQueueOutboundGateway storageQueueOutboundGateway = applicationContext.getBeanQueueSendConfiguration.StorageQueueOutboundGateway.class);
            storageQueueOutboundGateway.send("Hello World");
        }
    
    }
    

    Aanbeveling

    Vergeet niet om de @EnableIntegration aantekening toe te voegen, waardoor de Spring Integration-infrastructuur mogelijk is.

  5. Start de toepassing. Na het starten produceert de toepassing logboeken die vergelijkbaar zijn met het volgende voorbeeld:

    Message was sent successfully.
    Received message: Hello World
    

Implementeren in Azure Spring Apps

Nu de Spring Boot-toepassing lokaal wordt uitgevoerd, is het tijd om deze naar productie te verplaatsen. Azure Spring Apps maakt het eenvoudig om Spring Boot-toepassingen te implementeren in Azure zonder codewijzigingen. De service beheert de infrastructuur van Spring-toepassingen, zodat ontwikkelaars zich kunnen richten op hun code. Azure Spring Apps biedt levenscyclusbeheer met behulp van uitgebreide bewaking en diagnose, configuratiebeheer, servicedetectie, CI/CD-integratie, blauwgroene implementaties en meer. Zie Uw eerste toepassing implementeren voor Azure Spring Apps om uw toepassing te implementeren in Azure Spring Apps.

Volgende stappen

Zie ook

Zie Wat is Spring Cloud Azure? voor meer informatie over de Spring Boot Starters die beschikbaar zijn voor Microsoft Azure