Menggunakan Java Message Service 2.0 API dengan Azure Service Bus Premium
Artikel ini menjelaskan cara menggunakan API Java Message Service (JMS) 2.0 API yang populer untuk berinteraksi dengan Azure Service Bus melalui protokol Advanced Message Queueing Protocol (AMQP 1.0).
Catatan
Dukungan untuk JAVA Message Service (JMS) 2.0 API hanya tersedia di tingkat premium.>
Prasyarat
Mulai menggunakan Azure Service Bus
Panduan ini mengasumsikan bahwa Anda sudah memiliki ruang nama Azure Service Bus. Jika tidak, buat namespace layanan dan antrean menggunakan portal Azure. Untuk informasi selengkapnya tentang cara membuat ruang nama dan antrean Service Bus, lihat Mulai menggunakan dengan antrean Service Bus melalui portal Microsoft Azure.
Menyiapkan lingkungan Pengembangan Java
Untuk mengembangkan aplikasi Java, Anda perlu mengatur lingkungan pengembangan yang sesuai -
- Baik JDK (Java Development Kit) atau JRE (Java Runtime Environment) dipasang.
- JDK atau JRE ditambahkan ke jalur build dan variabel sistem yang sesuai.
- Java IDE dipasang untuk menggunakan JDK atau JRE. Misalnya, Eclipse atau IntelliJ.
Untuk mempelajari lebih lanjut cara menyiapkan lingkungan pengembang untuk Java di Azure, gunakan panduan ini.
Fitur JMS apa yang didukung?
Tabel berikut mencantumkan fitur Java Message Service (JMS) yang saat ini didukung oleh Azure Service Bus. Ini juga menunjukkan fitur yang tidak didukung.
Fitur | API | Status |
---|---|---|
Antrean |
|
Didukung |
Topik |
|
Didukung |
Antrean sementara |
|
Didukung |
Topik sementara |
|
Didukung |
Produser Pesan / JMSProducer |
|
Didukung |
Antrean browser |
|
Didukung |
Konsumen Pesan/ JMSConsumer |
noLocal saat ini tidak didukung |
Didukung |
Langganan bersama yang tahan lama |
|
Didukung |
Langganan privat yang tahan lama |
noLocal saat ini tidak didukung dan harus diatur ke false |
Didukung |
Langganan bersama yang tidak tahan lama |
|
Didukung |
Langganan privat yang tidak tahan lama |
noLocal saat ini tidak didukung dan harus diatur ke false |
Didukung |
Pemilih pesan | tergantung pada konsumen yang dibuat | Didukung |
Penundaan Pengiriman (pesan terjadwal) |
|
Didukung |
Pesan dibuat |
|
Didukung |
Transaksi lintas entitas |
|
Didukung |
Transaksi terdistribusi | Tidak didukung |
Mengunduh pustaka klien Java Message Service (JMS)
Untuk menggunakan semua fitur yang tersedia di tingkat premium, tambahkan pustaka berikut ke jalur build proyek.
Catatan
Untuk menambahkan Azure-servicebus-jms ke jalur build, gunakan alat manajemen dependensi pilihan untuk proyek Anda seperti Maven atau Gradle.
Aplikasi Coding Java
Setelah dependensi diimpor, aplikasi Java dapat ditulis dengan cara agnostik penyedia JMS.
Menghubungkan ke Azure Service Bus menggunakan JMS
Untuk terhubung dengan Azure Service Bus menggunakan klien JMS, Anda memerlukan string koneksi yang tersedia di 'Kebijakan Akses Bersama' di bagian portal Microsoft Azure di String Koneksi Utama.
Menggunakan
ServiceBusJmsConnectionFactorySettings
ServiceBusJmsConnectionFactorySettings connFactorySettings = new ServiceBusJmsConnectionFactorySettings(); connFactorySettings.setConnectionIdleTimeoutMS(20000);
Gunakan
ServiceBusJmsConnectionFactory
denganServiceBusConnectionString
yang sesuai.String ServiceBusConnectionString = "<SERVICE_BUS_CONNECTION_STRING_WITH_MANAGE_PERMISSIONS>"; ConnectionFactory factory = new ServiceBusJmsConnectionFactory(ServiceBusConnectionString, connFactorySettings);
Gunakan
ConnectionFactory
untuk membuatConnection
dan kemudianSession
Connection connection = factory.createConnection(); Session session = connection.createSession();
atau
JMSContext
a (untuk klien JMS 2.0)JMSContext jmsContext = factory.createContext();
Penting
Meskipun dinamai serupa, 'Sesi' JMS dan 'Sesi' Azure Service Bus benar-benar independen satu sama lain.
Dalam JMS 1.1, Sesi adalah blok penyusun penting dari API yang memungkinkan pembuatan
MessageProducer
,MessageConsumer
, dan ituMessage
sendiri. Untuk detail selengkapnya, tinjau model pemrograman JMS APIDi Azure Service Bus, sesi adalah konstruksi sisi layanan dan klien untuk memungkinkan pemrosesan FIFO pada antrean dan langganan.
Menulis aplikasi JMS
Setelah Session
atau JMSContext
telah digunakan, aplikasi Anda dapat menggunakan JMS API yang tidak asing untuk melakukan operasi data dan pengelolaan. Lihat daftar fitur JMS yang didukung untuk melihat API yang didukung. Berikut adalah beberapa cuplikan kode sampel untuk memulai JMS -
Mengirim pesan ke antrean dan topik
// Create the queue and topic
Queue queue = jmsContext.createQueue("basicQueue");
Topic topic = jmsContext.createTopic("basicTopic");
// Create the message
Message msg = jmsContext.createMessage();
// Create the JMS message producer
JMSProducer producer = jmsContext.createProducer();
// send the message to the queue
producer.send(queue, msg);
// send the message to the topic
producer.send(topic, msg);
Menerima pesan dari antrean
// Create the queue
Queue queue = jmsContext.createQueue("basicQueue");
// Create the message consumer
JMSConsumer consumer = jmsContext.createConsumer(queue);
// Receive the message
Message msg = (Message) consumer.receive();
Menerima pesan dari langganan bersama yang tahan lama pada topik
// Create the topic
Topic topic = jmsContext.createTopic("basicTopic");
// Create a shared durable subscriber on the topic
JMSConsumer sharedDurableConsumer = jmsContext.createSharedDurableConsumer(topic, "sharedDurableConsumer");
// Receive the message
Message msg = (Message) sharedDurableConsumer.receive();
Ringkasan
Panduan developer ini memperlihatkan bagaimana aplikasi klien Java yang menggunakan Java Message Service (JMS) melalui AMQP 1.0 dapat berinteraksi dengan Azure Service Bus.
Anda juga dapat menggunakan Azure Service Bus AMQP 1.0 dari bahasa pemrogram lain, seperti .NET, C, Python, dan PHP. Komponen yang dibuat dengan menggunakan bahasa pemrogram yang berbeda ini dapat bertukar pesan dengan andal dan dengan ketepatan tinggi menggunakan dukungan AMQP 1.0 di Azure Service Bus.
Langkah berikutnya
Untuk informasi selengkapnya tentang Azure Service Bus dan detail tentang entitas Java Message Service (JMS), lihat tautan di bawah -
- Azure Service Bus - Antrean, Topik, dan Langganan
- Azure Service Bus - Entitas Java Message Service
- Dukungan AMQP 1.0 di Azure Service Bus
- Panduan Pengembang Azure Service Bus AMQP 1.0
- Mulai menggunakan antrean Service Bus
- Java Message Service API (dokumen Oracle eksternal)
- Pelajari cara bermigrasi dari ActiveMQ ke Azure Service Bus