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
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.
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.
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.
SDK Java ApsaraMQ for RocketMQ yang terintegrasi dengan Spring menggunakan protokol TCP. Oleh karena itu, Anda harus memperoleh endpoint TCP.
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 |
|
|
Pesan berurutan | ||
Pesan transaksional |