Cloud SDK untuk Java ApsaraMQ for MQTT menyediakan tiga antarmuka untuk integrasi sisi server: sendMessage untuk memublikasikan pesan, subscribeTopic untuk mengonsumsi pesan, dan subscribeStatus untuk melacak event koneksi klien.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Membuat instans ApsaraMQ for MQTT di Konsol ApsaraMQ for MQTT.
Memiliki pasangan AccessKey untuk otentikasi. Untuk detailnya, lihat Mendapatkan pasangan AccessKey.
Mengunduh dan menambahkan Cloud SDK untuk Java ke dalam proyek Anda. Untuk tautan unduhan, lihat Catatan rilis.
Parameter koneksi
Konfigurasikan parameter koneksi di ChannelConfig.class, yang berlokasi di server-sdk-{SDK Version}\com\alibaba\mqtt\server\config. Ganti {SDK Version} dengan versi Cloud SDK untuk Java yang digunakan dalam proyek Anda.
Parameter wajib
| Parameter | Tipe | Deskripsi |
|---|---|---|
domain | String | Titik akhir instans ApsaraMQ for MQTT Anda. Lihat Format titik akhir. |
port | Integer | Port yang digunakan oleh cloud SDK. Protokol dan port harus sesuai. Atur ke 5672. |
instanceId | String | ID instans ApsaraMQ for MQTT. Temukan di halaman Instance Details di Konsol ApsaraMQ for MQTT. |
accessKey | String | ID AccessKey yang dibuat di Konsol Resource Access Management (RAM) untuk otentikasi. Lihat Mendapatkan pasangan AccessKey. |
secretKey | String | Rahasia AccessKey yang dibuat di Konsol RAM. Hanya diperlukan untuk otentikasi signature. Lihat Mendapatkan pasangan AccessKey. |
Format titik akhir
Pilih format titik akhir berdasarkan metode akses jaringan Anda:
| Metode akses | Format titik akhir |
|---|---|
| Publik | <instance-id>-server-internet.mqtt.aliyuncs.com |
| VPC | <instance-id>-server-internal.mqtt.aliyuncs.com |
Ganti <instance-id> dengan ID instans ApsaraMQ for MQTT Anda, yang tercantum di bagian Basic Information pada halaman Instance Details di Konsol ApsaraMQ for MQTT.
Tidak semua wilayah mendukung akses Cloud SDK. Untuk daftar wilayah yang didukung, lihat Wilayah akses SDK.
Parameter jaringan
Dalam kebanyakan kasus, nilai default berfungsi tanpa perlu dimodifikasi. Sesuaikan parameter ini hanya jika kondisi jaringan mengharuskannya.
| Parameter | Tipe | Deskripsi | Unit | Default |
|---|---|---|---|---|
networkRecoveryInterval | Integer | Waktu sebelum koneksi TCP dipulihkan secara otomatis. | Milidetik | 5000 |
connectionTimeout | Integer | Waktu tunggu maksimum untuk membuat koneksi TCP. Jika koneksi tidak berhasil dibuat dalam periode ini, error akan dikembalikan. | Milidetik | 60000 |
handshakeTimeout | Integer | Waktu tunggu maksimum untuk handshake TCP. Jika handshake tidak selesai dalam periode ini, error akan dikembalikan. | Milidetik | 10000 |
requestedHeartbeat | Integer | Interval antar sinyal heartbeat. Jika tidak ada heartbeat yang dikirim dalam interval ini, error akan dikembalikan. | Detik | 60 |
shutdownTimeout | Integer | Periode tenggang bagi konsumen untuk menyelesaikan pemrosesan pesan setelah koneksi TCP ditutup. Atur ke 0 agar pemrosesan dapat berlangsung tanpa batas waktu. | Milidetik | 10000 |
sendMessage
Publikasikan pesan ke topik MQTT.
Kelas:
com.alibaba.mqtt.server.ServerProducer
| Parameter | Tipe | Deskripsi |
|---|---|---|
mqttTopic | String | Topik MQTT yang akan dipublikasikan. Tentukan topik induk atau subtopik. Buat topik induk terlebih dahulu di Konsol ApsaraMQ for MQTT. Subtopik dapat langsung ditentukan dalam kode tanpa perlu dibuat di konsol. Untuk detail hierarki topik, lihat Istilah dasar. |
payload | byte[] | Isi pesan. |
sendCallback | SendCallback | Callback yang dipanggil setelah pesan dikirim. Tangani hasil pengiriman dalam callback ini. |
Jika topik yang ditentukan tidak ada atau klien tidak memiliki izin atas topik tersebut, otentikasi gagal dan klien akan diputus dari broker ApsaraMQ for MQTT.
subscribeTopic
Berlangganan pesan pada topik induk.
Kelas:
com.alibaba.mqtt.server.ServerConsumer
| Parameter | Tipe | Deskripsi |
|---|---|---|
firstTopic | String | Topik induk yang dibuat di Konsol ApsaraMQ for MQTT. Untuk detailnya, lihat Istilah dasar. |
messageListener | MessageListener | Callback yang dipanggil saat pesan tiba. Proses pesan yang diterima dalam callback ini. |
Jika topik yang ditentukan tidak ada atau klien tidak memiliki izin atas topik tersebut, otentikasi gagal dan klien akan diputus dari broker ApsaraMQ for MQTT.
Cloud SDK tidak mendukung langganan subtopik. SDK ini dirancang untuk aplikasi backend yang mengumpulkan dan menganalisis semua pesan pada topik induk.
subscribeStatus
Berlangganan notifikasi status klien untuk kelompok tertentu.
Kelas:
com.alibaba.mqtt.server.ServerConsumer
| Parameter | Tipe | Deskripsi |
|---|---|---|
mqttGroupId | String | ID kelompok yang dibuat di Konsol ApsaraMQ for MQTT. Untuk detailnya, lihat Istilah dasar. |
statusListener | StatusListener | Callback yang dipanggil saat notifikasi status client tiba. Proses event status dalam callback ini. |
Topik terkait
Istilah dasar — Hierarki topik, kelompok, dan konsep inti lainnya
Catatan rilis — Versi SDK dan tautan unduhan
Wilayah akses SDK — Wilayah yang mendukung akses Cloud SDK