全部产品
Search
文档中心

ApsaraMQ for RocketMQ:Integrasi dengan Spring

更新时间:Aug 28, 2025

ApsaraMQ for RocketMQ mendukung integrasi framework Spring dengan ApsaraMQ for RocketMQ SDK Java, serta memungkinkan pengiriman dan penerimaan pesan menggunakan SDK. Topik ini menjelaskan penggunaan proyek demo terintegrasi Spring yang disediakan oleh ApsaraMQ for RocketMQ.

Informasi latar belakang

ApsaraMQ for RocketMQ memungkinkan Anda mengintegrasikan Spring dengan jenis produsen dan konsumen berikut:

  • Produsen dan konsumen pesan normal

  • Produsen dan konsumen pesan transaksional

  • Produsen dan konsumen pesan berurutan

Catatan

ApsaraMQ for RocketMQ tidak mendukung integrasi dengan Spring untuk pengiriman dan penerimaan pesan terjadwal maupun pesan tertunda.

Persiapan

  • JDK 1.8 atau versi lebih baru telah terpasang. Untuk informasi lebih lanjut, lihat Unduhan Java.

  • Maven 2.5 atau versi lebih baru telah terpasang. Untuk informasi lebih lanjut, lihat Mengunduh Apache Maven.

  • IntelliJ IDEA telah terpasang. Untuk mengunduh IntelliJ IDEA, kunjungi halaman unduhan.

Langkah 1: Unduh proyek demo

ApsaraMQ for RocketMQ menyediakan dua demo: satu untuk Spring Boot dan satu untuk Spring. Topik ini menggunakan demo Spring Boot sebagai contoh. Operasi penggunaan demo Spring serupa.

Langkah 2: Buat sumber daya

Buat sumber daya yang diperlukan di konsol ApsaraMQ for RocketMQ. Item berikut menyediakan tautan ke bagian yang sesuai.

  • Buat instans

  • Buat topik

    Saat membuat topik, tipe pesan topik harus sama dengan tipe pesan yang akan dikirim. Misalnya, jika Anda ingin mengirim pesan normal, Anda harus membuat topik dengan tipe pesan normal. Jika Anda ingin mengirim pesan berurutan, Anda harus membuat topik dengan tipe pesan berurutan.

  • Buat grup

    Tipe protokol grup harus sama dengan tipe SDK. ApsaraMQ for RocketMQ SDK Java yang terintegrasi dengan Spring menggunakan protokol TCP. Oleh karena itu, Anda harus memilih protokol TCP saat membuat ID grup.

  • Dapatkan endpoint

    SDK Java ApsaraMQ for RocketMQ yang terintegrasi dengan Spring menggunakan protokol TCP. Oleh karena itu, Anda harus memperoleh endpoint TCP.

  • Buat pasangan AccessKey

Langkah 3: Konfigurasikan proyek demo

Buat proyek Java di IntelliJ IDEA, impor file demo yang diperoleh di Langkah 1: Unduh Proyek Demo, lalu lakukan operasi berikut:

Modifikasi file pom.xml

Potongan kode berikut menunjukkan dependensi yang perlu ditambahkan ke file pom.xml. Disarankan untuk mengubah versi ons-client ke versi terbaru. Untuk informasi lebih lanjut mengenai versi, lihat Catatan Rilis.

<dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>com.aliyun.openservices</groupId>
            <artifactId>ons-client</artifactId>
            <version>1.8.8.8.Final</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

Konfigurasikan parameter

Modifikasi file application.properties yang berada di path java-springboot-demo/src/main/resources berdasarkan informasi sumber daya di Langkah 2: Buat Sumber Daya.

Parameter

Deskripsi

Contoh

accessKey

AccessKey ID merupakan identifier untuk memverifikasi identitas di Alibaba Cloud. Parameter ini digunakan untuk mengontrol izin klien.

yourAccessKeyID

secretKey

AccessKey Secret merupakan kunci untuk memverifikasi identitas di Alibaba Cloud. Parameter ini digunakan untuk mengontrol izin klien.

yourAccessKeySecret

nameSrvAddr

Endpoint TCP dari instans ApsaraMQ for RocketMQ. Pengguna menggunakan endpoint tersebut untuk mengakses broker ApsaraMQ for RocketMQ.

http://MQ_INST_XXXXXX.cn-hangzhou.mq.aliyuncs.com:80

topic

Topik yang Anda buat di konsol untuk mengirim pesan.

noamal_topic

groupId

ID grup yang Anda buat di konsol untuk berlangganan pesan.

GID_test

tag

Ekspresi filter yang digunakan untuk berlangganan pesan. Misalnya, "*" menunjukkan bahwa konsumen berlangganan semua pesan dalam topik yang ditentukan. "Tag A || Tag B" menunjukkan bahwa konsumen berlangganan pesan dengan tag A dan B pada topik tersebut. Untuk informasi lebih lanjut, lihat Filter pesan

*

orderTopic

Topik yang Anda buat di konsol untuk mengirim pesan berurutan.

order_topic

orderGroupId

Grup ID yang Anda buat di konsol untuk berlangganan pesan berurutan.

GID_order

orderTag

Ekspresi filter yang digunakan untuk berlangganan pesan berurutan. Untuk informasi lebih lanjut, lihat Filter pesan

tagA

Langkah 4: Jalankan proyek demo dengan memanggil metode main()

Saat menjalankan kode sampel, pastikan kelas-kelas di path java-springboot-demo/src/main/java/com/aliyun/openservices/springboot/example telah diimpor ke proyek.

Tipe pesan

Kode sampel untuk mengirim pesan

Kode sampel untuk berlangganan pesan

Pesan normal

ProducerClient.java

Pesan berurutan

OrderProducerClient.java

OrderConsumerClient.java

Pesan transaksional

TransactionProducerClient.java

ConsumerClient.java