Använda Azure Service Bus med JMS
Den här artikeln gäller för: ✔️ Version 4.14.0 ✔️ Version 5.8.0
Den här artikeln beskriver hur du använder Azure Service Bus med JMS-API:et integrerat i Spring JMS-ramverket.
Du måste ange en Azure Service Bus-anslutningssträng, som parsas i inloggningens användarnamn, lösenord och fjärr-URI för AMQP-koordinatorn.
Beroendekonfiguration
Lägg till följande beroenden om du vill migrera ditt Spring JMS-program för att använda Azure Service Bus.
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-starter-servicebus-jms</artifactId>
</dependency>
Konfiguration
I följande tabell beskrivs de konfigurerbara egenskaperna när du använder Spring JMS-stödet:
Property | beskrivning |
---|---|
spring.jms.servicebus.connection-string | Azure Service Bus-anslutningssträng för när du vill ange anslutningssträng direkt. |
spring.jms.servicebus.topic-client-id | JMS-klient-ID:t. Fungerar bara för bönan topicJmsListenerContainerFactory . |
spring.jms.servicebus.enabled | Ett värde som anger om Servive Bus JMS ska konfigureras automatiskt. Standardvärdet är true . |
spring.jms.servicebus.idle-timeout | Tidsgränsen för inaktiv anslutning som anger hur länge klienten förväntar sig att Service Bus ska hålla en anslutning vid liv när inga meddelanden levereras. Standardvärdet är 2m . |
spring.jms.servicebus.pricing-tier | Prisnivån för Azure Service Bus. Värden som stöds är premium och standard. Premium-nivån använder Java Message Service (JMS) 2.0, medan standardnivån använder JMS 1.1 för att interagera med Azure Service Bus. |
spring.jms.servicebus.listener.reply-pub-sub-domain | Ett värde som anger om svarsmålstypen är ett ämne. Fungerar bara för bönan topicJmsListenerContainerFactory . |
spring.jms.servicebus.listener.phase | Fasen då containern ska startas och stoppas. |
spring.jms.servicebus.listener.reply-qos-settings | Konfigurerar att QosSettings använda när du skickar ett svar. |
spring.jms.servicebus.listener.subscription-durable | Ett värde som anger om prenumerationen ska vara beständig. Fungerar bara för bönan topicJmsListenerContainerFactory . Standardvärdet är true . |
spring.jms.servicebus.listener.subscription-shared | Ett värde som anger om prenumerationen ska delas. Fungerar bara för bönan topicJmsListenerContainerFactory . |
spring.jms.servicebus.pool.block-if-full | Ett värde som anger om du vill blockera när en anslutning begärs och poolen är full. Ställ in den på false för att kasta en JMSException i stället. |
spring.jms.servicebus.pool.block-if-full-timeout | Blockeringsperioden innan du utlöser ett undantag om poolen fortfarande är full. |
spring.jms.servicebus.pool.enabled | Ett värde som anger om en JmsPoolConnectionFactory ska skapas i stället för en vanlig ConnectionFactory . |
spring.jms.servicebus.pool.idle-timeout | Tidsgränsen för inaktivitet i anslutningspoolen. |
spring.jms.servicebus.pool.max-connections | Det maximala antalet poolanslutningar. |
spring.jms.servicebus.pool.max-sessions-per-connection | Det maximala antalet poolsessioner per anslutning i poolen. |
spring.jms.servicebus.pool.time-between-expiration-check | Tiden att viloläge mellan körningar av den inaktiva anslutningsavlägsningstråden. När det är negativt körs ingen inaktiv anslutningsavlägsningstråd. |
spring.jms.servicebus.pool.use-anonymous-producers | Ett värde som anger om endast en anonym MessageProducer instans ska användas. Ställ in den på false för att skapa en MessageProducer varje gång en krävs. |
spring.jms.servicebus.prefetch-policy.all | Återställningsvärdet för alternativet prefetch i det här Service Bus-namnområdet. Standardvärdet är 0 . |
spring.jms.servicebus.prefetch-policy.durable-topic-prefetch | Antalet prefetch för varaktigt ämne. Standardvärdet är 0 . |
spring.jms.servicebus.prefetch-policy.queue-browser-prefetch | Antalet prefetch för köwebbläsaren. Standardvärdet är 0 . |
spring.jms.servicebus.prefetch-policy.queue-prefetch | Antalet prefetch för kön. Standardvärdet är 0 . |
spring.jms.servicebus.prefetch-policy.topic-prefetch | Antalet prefetch för ämnet. Standardvärdet är 0 . |
Kommentar
Spring JMS allmänna konfiguration utelämnas för kort.
Mer information finns i Spring JMS-dokument.
Grundläggande användning
Använda Service Bus-anslutningssträng
Det enklaste sättet att ansluta till Service Bus for Spring JMS-programmet är med anslutningssträng.
Lägg till följande egenskaper så är det dags att gå.
spring:
jms:
servicebus:
connection-string: ${AZURE_SERVICEBUS_CONNECTION_STRING}
pricing-tier: ${PRICING_TIER}
Kommentar
Standardinställningen ConnectionFactory
CachingConnectionFactory
är , som lägger till Session
cachelagring och MessageProducer
cachelagring. Om du vill aktivera funktionen JmsPoolConnectionFactory
för anslutningspooler i anger du spring.jms.servicebus.pool.enabled
till true
. Du hittar andra konfigurationsalternativ för pooler (egenskaper med prefix spring.jms.servicebus.pool.
) i avsnittet Konfiguration .
Exempel
Mer information finns i lagringsplatsen azure-spring-boot-samples på GitHub.