Mengirim, Menerima, dan MenghapusAmazon SQSPesan - AWS SDK for Java 1.x

AWS SDK for Java 1.x telah memasuki mode pemeliharaan pada 31 Juli 2024, dan akan mencapai end-of-supportpada 31 Desember 2025. Kami menyarankan Anda bermigrasi ke AWS SDK for Java 2.xuntuk terus menerima fitur baru, peningkatan ketersediaan, dan pembaruan keamanan.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengirim, Menerima, dan MenghapusAmazon SQSPesan

Topik ini menjelaskan cara mengirim, menerima, dan menghapusAmazon SQSpesan. Pesan selalu dikirimkan menggunakanAntrean SQS.

Mengirim pesan

Menambahkan satu pesan keAmazon SQSantrian dengan memanggil klien AmazonSqssendMessagemetode. BerikanSendMessageRequestobjek yang berisi antrianURL, badan pesan, dan nilai penundaan opsional (dalam detik).

Impor

import com.amazonaws.services.sqs.AmazonSQS; import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.SendMessageRequest;

Kode

SendMessageRequest send_msg_request = new SendMessageRequest() .withQueueUrl(queueUrl) .withMessageBody("hello world") .withDelaySeconds(5); sqs.sendMessage(send_msg_request);

LihatLengkapi Contohdi GitHub.

Kirim Beberapa Pesan Sekaligus

Anda dapat mengirim lebih dari satu pesan dalam satu permintaan. Untuk mengirim beberapa pesan, gunakan klien AmazonSqssendMessageBatchmetode, yang mengambilSendMessageBatchRequestberisi URL antrian dan daftar pesan (masing-masing aSendMessageBatchRequestEntryUntuk mengirim. Anda juga dapat menetapkan nilai penundaan opsional per pesan.

Impor

import com.amazonaws.services.sqs.model.SendMessageBatchRequest; import com.amazonaws.services.sqs.model.SendMessageBatchRequestEntry;

Kode

SendMessageBatchRequest send_batch_request = new SendMessageBatchRequest() .withQueueUrl(queueUrl) .withEntries( new SendMessageBatchRequestEntry( "msg_1", "Hello from message 1"), new SendMessageBatchRequestEntry( "msg_2", "Hello from message 2") .withDelaySeconds(10)); sqs.sendMessageBatch(send_batch_request);

LihatLengkapi Contohdi GitHub.

Menerima Pesan

Mengambil setiap pesan yang saat ini dalam antrian dengan memanggil klien AmazonSqsreceiveMessagemetode, melewatinya URL antrian ini. Pesan dikembalikan sebagai daftarPesanbenda.

Impor

import com.amazonaws.services.sqs.AmazonSQSClientBuilder; import com.amazonaws.services.sqs.model.AmazonSQSException; import com.amazonaws.services.sqs.model.SendMessageBatchRequest;

Kode

List<Message> messages = sqs.receiveMessage(queueUrl).getMessages();

Hapus Pesan setelah Tanda Terima

Setelah menerima pesan dan memproses isinya, hapus pesan dari antrian dengan mengirimkan pegangan tanda terima pesan dan URL antrian ke klien AmazonSQSdeleteMessagemetode.

Kode

for (Message m : messages) { sqs.deleteMessage(queueUrl, m.getReceiptHandle()); }

LihatLengkapi Contohdi GitHub.

Info Selengkapnya