Dela via


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 ConnectionFactoryCachingConnectionFactoryär , som lägger till Session cachelagring och MessageProducer cachelagring. Om du vill aktivera funktionen JmsPoolConnectionFactoryfö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.