Menggunakan antrean Azure Storage di aplikasi Spring

Artikel ini menunjukkan cara menggunakan antrean Azure Storage dalam aplikasi Java yang dibangun dengan Spring Framework.

Azure Storage Queue mengimplementasikan antrean berbasis cloud untuk memungkinkan komunikasi antar komponen aplikasi terdistribusi. Setiap antrean menyimpan daftar pesan yang dapat ditambahkan oleh komponen pengirim dan diproses oleh komponen penerima. Dengan antrean, aplikasi Anda dapat segera meningkatkan skala untuk memenuhi permintaan.

Spring Cloud Azure menyediakan berbagai modul untuk menggunakan framework Spring dalam mengirim dan menerima pesan dari Azure Storage Queue. Anda dapat menggunakan modul ini secara independen atau menggabungkannya untuk kasus penggunaan yang berbeda, seperti yang dijelaskan dalam daftar berikut:

Prasyarat

Catatan

Untuk memberikan akses akun Anda ke sumber daya, di akun Azure Storage yang baru dibuat, tetapkan peran Storage Queue Data Contributor ke akun Microsoft Entra yang saat ini Anda gunakan. Untuk informasi selengkapnya, lihat Menetapkan peran Azure menggunakan portal Azure.

Penting

Spring Boot versi 2.5 atau yang lebih tinggi diperlukan untuk menyelesaikan langkah-langkah dalam tutorial ini.

Menyiapkan lingkungan lokal Anda

Dalam tutorial ini, konfigurasi dan kode tidak memiliki operasi autentikasi apa pun. Namun, menyambungkan ke layanan Azure memerlukan autentikasi. Untuk menyelesaikan autentikasi, Anda perlu menggunakan pustaka klien Azure Identity. Spring Cloud Azure menggunakan DefaultAzureCredential, yang disediakan pustaka identitas Azure untuk membantu Anda mendapatkan kredensial tanpa perubahan kode apa pun.

DefaultAzureCredential mendukung beberapa metode autentikasi dan menentukan metode mana yang akan digunakan saat runtime. Pendekatan ini memungkinkan aplikasi Anda menggunakan metode autentikasi yang berbeda di lingkungan yang berbeda - seperti lingkungan lokal atau produksi - tanpa menerapkan kode khusus lingkungan. Untuk informasi selengkapnya, lihat bagian DefaultAzureCredential dari Mengautentikasi aplikasi Java yang dihosting di Azure.

Untuk menggunakan Azure CLI, IntelliJ, atau metode lain untuk menyelesaikan autentikasi di lingkungan pengembangan lokal, lihat autentikasi Azure di lingkungan pengembangan Java. Untuk menyelesaikan autentikasi di lingkungan hosting Azure, sebaiknya gunakan identitas terkelola. Untuk informasi selengkapnya, lihat Apa identitas terkelola untuk sumber daya Azure?

Menggunakan Spring Cloud Azure Storage Queue Starter

Modul Spring Cloud Azure Storage Queue Starter mengimpor pustaka klien Azure Storage Queue untuk Java dengan kerangka kerja Spring Boot. Anda dapat menggunakan Spring Cloud Azure dan Azure SDK bersama-sama, dalam pola yang tidak saling eksklusif. Dengan demikian, Anda dapat terus menggunakan Storage Queue Java API klien di aplikasi Spring Anda.

Tambah dependensi

Untuk menginstal modul Spring Cloud Azure Storage Queue Starter, tambahkan dependensi berikut ke file pom.xml Anda:

  • Spring Cloud Azure Bill of Materials (BOM):

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

    Catatan

    Jika Anda menggunakan Spring Boot 4.0.x, pastikan untuk mengatur versi ke spring-cloud-azure-dependencies7.3.0.

    Jika Anda menggunakan Spring Boot 3.5.x, pastikan untuk mengatur versi ke spring-cloud-azure-dependencies6.4.0.

    Jika Anda menggunakan Spring Boot 3.1.x-3.5.x, pastikan untuk mengatur versi ke spring-cloud-azure-dependencies5.25.0.

    Jika Anda menggunakan Spring Boot 2.x, pastikan untuk mengatur versi spring-cloud-azure-dependencies ke 4.20.0.

    Bill of Material (BOM) ini harus dikonfigurasi di bagian <dependencyManagement> dari file pom.xml Anda. Ini memastikan bahwa semua dependensi Spring Cloud Azure menggunakan versi yang sama.

    Untuk informasi selengkapnya tentang versi yang digunakan untuk BOM ini, lihat Versi Spring Cloud Azure Harus Saya Gunakan.

  • Artefak Komponen Spring Cloud Azure Storage Queue:

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

Kode aplikasi Anda untuk mengirim dan menerima pesan

Bagian ini menunjukkan kepada Anda cara menggunakan klien Azure Queue Storage dalam konteks aplikasi Spring. Anda memiliki dua opsi berikut:

  • Gunakan konfigurasi otomatis Spring Boot dan gunakan klien bawaan dari konteks Spring (disarankan).
  • Bangun klien secara terprogram.

Dengan konfigurasi otomatis, Anda menghubungkan secara otomatis bean klien dari kontainer Spring IoC (Inversion of Control). Pendekatan ini memberi Anda pengalaman yang lebih fleksibel dan efisien saat mengembangkan dengan klien Storage Queue. Konfigurasi otomatis memiliki keuntungan berikut:

  • Konfigurasi otomatis menggunakan konfigurasi eksternal sehingga Anda dapat bekerja dengan kode aplikasi yang sama di lingkungan yang berbeda.

  • Anda dapat mendelegasikan ke kerangka kerja Spring Boot proses mempelajari pola penyusun dan mendaftarkan klien ke konteks aplikasi. Anda hanya fokus pada cara menggunakan klien dengan persyaratan bisnis Anda sendiri.

  • Anda dapat menggunakan indikator kesehatan untuk memeriksa status dan kesehatan aplikasi dan komponen internal Anda.

Contoh kode di bagian berikut menunjukkan cara menggunakan QueueClient dengan dua alternatif yang dijelaskan.

Kiat

Azure Java SDK untuk Antrean Penyimpanan menyediakan beberapa klien untuk berinteraksi dengan Antrean Penyimpanan. "Starter juga menyediakan konfigurasi otomatis untuk semua klien Storage Queue dan pembuat klien." Artikel ini menggunakan QueueClient sebagai contoh.

Menggunakan konfigurasi otomatis Spring Boot

Untuk mengirim pesan ke dan menerima pesan dari antrean Azure Storage, gunakan langkah-langkah berikut untuk mengonfigurasi aplikasi:

  1. Konfigurasikan nama akun penyimpanan dan nama antrean Anda, seperti yang ditunjukkan dalam contoh berikut:

    spring.cloud.azure.storage.queue.account-name=<your-storage-account-name>
    spring.cloud.azure.storage.queue.queue-name=<your-storage-queue-name>
    
  2. QueueClient Masukkan di aplikasi Spring Anda dan panggil API terkait untuk mengirim pesan, seperti yang ditunjukkan dalam contoh berikut:

    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. Mulai aplikasi. Setelah diluncurkan, aplikasi menghasilkan log yang mirip dengan contoh berikut:

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

Membangun klien secara terprogram

Anda dapat mengembangkan bean klien sendiri, tetapi prosesnya kompleks. Di aplikasi Spring Boot, Anda harus mengelola properti, mempelajari pola penyusun, dan mendaftarkan klien ke konteks aplikasi Spring Anda. Langkah-langkah berikut menunjukkan kepada Anda cara melakukannya.

  1. Bangun klien secara terprogram di aplikasi Spring Anda, seperti yang ditunjukkan dalam contoh berikut. Pastikan untuk mengganti <storage-account-name> dengan pengganti nilai milik Anda sendiri.

    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. Mulai aplikasi. Setelah diluncurkan, aplikasi menghasilkan log yang mirip dengan contoh berikut:

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

Daftar berikut menunjukkan alasan mengapa kode ini tidak fleksibel atau anggun:

  • Akun penyimpanan dan nama antrean dikodekan secara permanen.
  • Jika Anda menggunakan @Value untuk mendapatkan konfigurasi dari lingkungan Spring, Anda tidak dapat memiliki petunjuk IDE dalam file application.properties Anda.
  • Jika Anda memiliki skenario layanan mikro, Anda harus menduplikasi kode di setiap proyek, dan mudah untuk membuat kesalahan dan sulit untuk konsisten.

Untungnya, Anda tidak perlu membangun bean klien sendiri dengan Spring Cloud Azure. Sebagai gantinya, Anda dapat langsung menyuntikkannya dan menggunakan properti konfigurasi yang sudah Anda kenal untuk mengonfigurasi antrean penyimpanan. Untuk informasi selengkapnya, lihat properti konfigurasi Spring Cloud Azure.

Spring Cloud Azure juga menyediakan konfigurasi global berikut untuk skenario yang berbeda. Untuk informasi selengkapnya, lihat properti konfigurasi global Spring Cloud Azure.

  • Opsi proksi.
  • Opsi Ulang

Anda juga dapat terhubung ke cloud Azure yang berbeda. Untuk informasi selengkapnya, lihat Hubungkan ke cloud Azure yang berbeda.

Menggunakan Spring Messaging untuk Azure Storage Queue

Modul Spring Messaging Azure Storage Queue menyediakan dukungan untuk kerangka kerja Spring Messaging dengan Azure Queue Storage.

Jika Anda menggunakan Spring Messaging Azure Storage Queue, maka Anda dapat menggunakan fitur StorageQueueTemplate untuk mengirim pesan ke antrean penyimpanan secara asinkron dan sinkron.

Bagian berikut menunjukkan kepada Anda cara menggunakan Spring Messaging Azure Storage Queue untuk mengirim pesan ke dan menerima pesan dari antrean penyimpanan.

Tambah dependensi

Untuk menginstal modul Spring Messaging Azure Storage Queue, tambahkan dependensi berikut ke file pom.xml Anda:

  • Spring Cloud Azure Bill of Materials (BOM):

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

    Catatan

    Jika Anda menggunakan Spring Boot 4.0.x, pastikan untuk mengatur versi ke spring-cloud-azure-dependencies7.3.0.

    Jika Anda menggunakan Spring Boot 3.5.x, pastikan untuk mengatur versi ke spring-cloud-azure-dependencies6.4.0.

    Jika Anda menggunakan Spring Boot 3.1.x-3.5.x, pastikan untuk mengatur versi ke spring-cloud-azure-dependencies5.25.0.

    Jika Anda menggunakan Spring Boot 2.x, pastikan untuk mengatur versi spring-cloud-azure-dependencies ke 4.20.0.

    Bill of Material (BOM) ini harus dikonfigurasi di bagian <dependencyManagement> dari file pom.xml Anda. Ini memastikan bahwa semua dependensi Spring Cloud Azure menggunakan versi yang sama.

    Untuk informasi selengkapnya tentang versi yang digunakan untuk BOM ini, lihat Versi Spring Cloud Azure Harus Saya Gunakan.

  • Artefak Spring Cloud Azure Starter dan Spring Messaging Storage Queue:

    <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>
    

Kode aplikasi Anda untuk mengirim dan menerima pesan

Gunakan langkah-langkah berikut untuk mengonfigurasi dan mengodekan aplikasi Anda:

  1. Konfigurasikan nama akun Azure Storage untuk antrean penyimpanan Anda, seperti yang ditunjukkan dalam contoh berikut:

    spring.cloud.azure.storage.queue.account-name=<your-storage-account-name>
    
  2. Hubungkan pengirim pesan dan penerima pesan untuk mengirim dan menerima pesan dengan Spring, seperti pada contoh berikut. Pastikan untuk mengganti <storage-queue-name> dengan pengganti nilai milik Anda sendiri.

    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. Mulai aplikasi. Setelah diluncurkan, aplikasi menghasilkan log yang mirip dengan contoh berikut:

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

Menggunakan Spring Integration Azure Storage Queue

Modul Spring Integration Azure Storage Queue menyediakan dukungan untuk kerangka kerja Spring Integration dengan antrean penyimpanan.

Jika aplikasi Spring Anda menggunakan saluran pesan Integrasi Spring, Anda dapat merutekan pesan antara saluran pesan dan antrean penyimpanan menggunakan adaptor saluran. Adaptor saluran masuk meneruskan pesan dari antrean penyimpanan ke saluran pesan. Adaptor saluran keluar mengirim pesan dari saluran pesan ke antrian penyimpanan.

Bagian berikut menunjukkan kepada Anda cara menggunakan Spring Integration Azure Storage Queue untuk mengirim dan menerima pesan ke dan dari antrean penyimpanan.

Tambah dependensi

Untuk menginstal modul Spring Integration Azure Storage Queue, tambahkan dependensi berikut ke file pom.xml Anda:

  • Spring Cloud Azure Bill of Materials (BOM):

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

    Catatan

    Jika Anda menggunakan Spring Boot 4.0.x, pastikan untuk mengatur versi ke spring-cloud-azure-dependencies7.3.0.

    Jika Anda menggunakan Spring Boot 3.5.x, pastikan untuk mengatur versi ke spring-cloud-azure-dependencies6.4.0.

    Jika Anda menggunakan Spring Boot 3.1.x-3.5.x, pastikan untuk mengatur versi ke spring-cloud-azure-dependencies5.25.0.

    Jika Anda menggunakan Spring Boot 2.x, pastikan untuk mengatur versi spring-cloud-azure-dependencies ke 4.20.0.

    Bill of Material (BOM) ini harus dikonfigurasi di bagian <dependencyManagement> dari file pom.xml Anda. Ini memastikan bahwa semua dependensi Spring Cloud Azure menggunakan versi yang sama.

    Untuk informasi selengkapnya tentang versi yang digunakan untuk BOM ini, lihat Versi Spring Cloud Azure Harus Saya Gunakan.

  • Koleksi Artefak-Artefak Spring Integration Azure Storage Queue:

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

Kode aplikasi Anda untuk mengirim dan menerima pesan

Gunakan langkah-langkah berikut untuk mengonfigurasi dan mengodekan aplikasi Anda:

  1. Konfigurasikan nama akun Azure Storage untuk antrean penyimpanan Anda.

    spring.cloud.azure.storage.queue.account-name=<your-storage-account-name>
    
  2. Buat kelas QueueReceiveConfiguration Java baru seperti yang ditunjukkan dalam contoh berikut. Kelas ini digunakan untuk menentukan penerima pesan. Pastikan untuk mengganti <storage-queue-name> dengan pengganti nilai milik Anda sendiri.

    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. Buat kelas QueueSendConfiguration Java baru seperti yang ditunjukkan dalam contoh berikut. Kelas ini digunakan untuk menentukan pengirim pesan. Pastikan untuk mengganti <storage-queue-name> dengan pengganti nilai milik Anda sendiri.

    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. Hubungkan pengirim dan penerima untuk mengirim dan menerima pesan dengan 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");
        }
    
    }
    

    Kiat

    Ingatlah untuk menambahkan anotasi @EnableIntegration, yang mengaktifkan infrastruktur Integrasi Spring.

  5. Mulai aplikasi. Setelah diluncurkan, aplikasi menghasilkan log yang mirip dengan contoh berikut:

    Message was sent successfully.
    Received message: Hello World
    

Menyebarkan ke Azure Spring Apps

Sekarang setelah Anda memiliki aplikasi Spring Boot yang berjalan secara lokal, saatnya untuk memindahkannya ke produksi. Azure Spring Apps memudahkan penyebaran aplikasi Spring Boot ke Azure tanpa perubahan kode apa pun. Layanan ini mengelola infrastruktur aplikasi Spring sehingga pengembang dapat fokus pada kode mereka. Azure Spring Apps menyediakan manajemen siklus hidup menggunakan pemantauan dan diagnostik yang komprehensif, manajemen konfigurasi, penemuan layanan, integrasi CI/CD, penyebaran biru-hijau, dan banyak lagi. Untuk menyebarkan aplikasi Anda ke Azure Spring Apps, lihat Deploy aplikasi pertama Anda ke Azure Spring Apps.

Langkah berikutnya

Lihat juga

Untuk informasi selengkapnya tentang Spring Boot Starters yang tersedia untuk Microsoft Azure, lihat Apa itu Spring Cloud Azure?