Menggunakan Azure Bus Layanan dengan JMS
Artikel ini berlaku untuk: ✔️ Versi 4.14.0 ✔️ Versi 5.8.0
Artikel ini menjelaskan cara menggunakan Azure Bus Layanan dengan JMS API yang terintegrasi ke dalam kerangka kerja Spring JMS.
Anda harus menyediakan Bus Layanan string koneksi Azure, yang diuraikan ke dalam nama pengguna masuk, kata sandi, dan URI jarak jauh untuk broker AMQP.
Penyiapan dependensi
Tambahkan dependensi berikut jika Anda ingin memigrasikan aplikasi Spring JMS anda untuk menggunakan Azure Bus Layanan.
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-starter-servicebus-jms</artifactId>
</dependency>
Konfigurasi
Tabel berikut menjelaskan properti yang dapat dikonfigurasi saat menggunakan dukungan Spring JMS:
Properti | Deskripsi |
---|---|
spring.jms.servicebus.connection-string | Azure Bus Layanan string koneksi, saat Anda ingin menyediakan string koneksi secara langsung. |
spring.jms.servicebus.topic-client-id | ID klien JMS. Hanya bekerja untuk topicJmsListenerContainerFactory kacang. |
spring.jms.servicebus.enabled | Nilai yang menunjukkan apakah akan mengaktifkan konfigurasi otomatis JMS Bus Servive. Nilai defaultnya adalah true . |
spring.jms.servicebus.idle-timeout | Durasi batas waktu diam koneksi yang menunjukkan berapa lama klien mengharapkan Bus Layanan untuk menjaga koneksi tetap hidup ketika tidak ada pesan yang dikirimkan. Nilai defaultnya adalah 2m . |
spring.jms.servicebus.pricing-tier | Tingkat Harga Azure Bus Layanan. Nilai yang didukung adalah premium dan standar. Tingkat premium menggunakan Java Message Service (JMS) 2.0, sementara tingkat standar menggunakan JMS 1.1 untuk berinteraksi dengan Azure Bus Layanan. |
spring.jms.servicebus.listener.reply-pub-sub-domain | Nilai yang menunjukkan apakah jenis tujuan balasan adalah topik. Hanya bekerja untuk topicJmsListenerContainerFactory kacang. |
spring.jms.servicebus.listener.phase | Fase di mana kontainer ini harus dimulai dan dihentikan. |
spring.jms.servicebus.listener.reply-qos-settings | QosSettings Mengonfigurasi untuk digunakan saat mengirim balasan. |
spring.jms.servicebus.listener.subscription-durable | Nilai yang menunjukkan apakah akan membuat langganan tahan lama. Hanya bekerja untuk topicJmsListenerContainerFactory kacang. Nilai defaultnya adalah true . |
spring.jms.servicebus.listener.subscription-shared | Nilai yang menunjukkan apakah akan membuat langganan dibagikan. Hanya bekerja untuk topicJmsListenerContainerFactory kacang. |
spring.jms.servicebus.pool.block-if-full | Nilai yang menunjukkan apakah akan memblokir saat koneksi diminta dan kumpulan penuh. Atur ke false untuk melempar sebagai JMSException gantinya. |
spring.jms.servicebus.pool.block-if-full-timeout | Periode pemblokiran sebelum melempar pengecualian jika kumpulan masih penuh. |
spring.jms.servicebus.pool.enabled | Nilai yang menunjukkan apakah JmsPoolConnectionFactory harus dibuat, bukan reguler ConnectionFactory . |
spring.jms.servicebus.pool.idle-timeout | Batas waktu diam kumpulan koneksi. |
spring.jms.servicebus.pool.max-connections | Jumlah maksimum koneksi terkumpul. |
spring.jms.servicebus.pool.max-sessions-per-connection | Jumlah maksimum sesi yang dikumpulkan per koneksi di kumpulan. |
spring.jms.servicebus.pool.time-between-expiration-check | Waktu untuk tidur antara eksekusi utas pengeluaran koneksi diam. Ketika negatif, tidak ada utas pengeluaran koneksi menganggur yang berjalan. |
spring.jms.servicebus.pool.use-anonymous-producers | Nilai yang menunjukkan apakah hanya menggunakan satu instans anonim MessageProducer . Atur ke false untuk membuatnya MessageProducer setiap kali diperlukan. |
spring.jms.servicebus.prefetch-policy.all | Nilai fallback untuk opsi prefetch di namespace Bus Layanan ini. Nilai defaultnya adalah 0 . |
spring.jms.servicebus.prefetch-policy.durable-topic-prefetch | Jumlah prefetch untuk topik tahan lama. Nilai defaultnya adalah 0 . |
spring.jms.servicebus.prefetch-policy.queue-browser-prefetch | Jumlah prefetch untuk browser antrean. Nilai defaultnya adalah 0 . |
spring.jms.servicebus.prefetch-policy.queue-prefetch | Jumlah prefetch untuk antrean. Nilai defaultnya adalah 0 . |
spring.jms.servicebus.prefetch-policy.topic-prefetch | Jumlah prefetch untuk topik. Nilai defaultnya adalah 0 . |
Catatan
Konfigurasi umum Spring JMS dihilangkan untuk singkatnya.
Untuk informasi selengkapnya, lihat Dokumen Spring JMS.
Penggunaan dasar
Menggunakan String koneksi Bus Layanan
Cara paling sederhana untuk terhubung ke Bus Layanan untuk aplikasi Spring JMS adalah dengan string koneksi.
Tambahkan properti berikut dan Anda siap melakukannya.
spring:
jms:
servicebus:
connection-string: ${AZURE_SERVICEBUS_CONNECTION_STRING}
pricing-tier: ${PRICING_TIER}
Catatan
Default yang diaktifkan ConnectionFactory
adalah CachingConnectionFactory
, yang menambahkan Session
penembolokan serta MessageProducer
penembolokan. Jika Anda ingin mengaktifkan fitur pengumpulan koneksi , JmsPoolConnectionFactory
atur spring.jms.servicebus.pool.enabled
ke true
. Anda dapat menemukan opsi konfigurasi pengumpulan lainnya (properti dengan awalan spring.jms.servicebus.pool.
) di bagian Konfigurasi .
Sampel
Untuk informasi selengkapnya, lihat repositori azure-spring-boot-samples di GitHub.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk