Utiliser Azure Service Bus avec JMS
Cet article s’applique à : ✔️ Version 4.14.0 ✔️ Version 5.8.0
Cet article explique comment utiliser Azure Service Bus avec l’API JMS intégrée à l’infrastructure Spring JMS.
Vous devez fournir un chaîne de connexion Azure Service Bus, qui est analysé dans le nom d’utilisateur de connexion, le mot de passe et l’URI distant du répartiteur AMQP.
Configuration des dépendances
Ajoutez les dépendances suivantes si vous souhaitez migrer votre application Spring JMS pour utiliser Azure Service Bus.
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-starter-servicebus-jms</artifactId>
</dependency>
Configuration
Le tableau suivant décrit les propriétés configurables lors de l’utilisation de la prise en charge de Spring JMS :
Propriété | Description |
---|---|
spring.jms.servicebus.connection-string | Le chaîne de connexion Azure Service Bus, pour le moment où vous souhaitez fournir la chaîne de connexion directement. |
spring.jms.servicebus.topic-client-id | ID client JMS. Ne fonctionne que pour le topicJmsListenerContainerFactory haricot. |
spring.jms.servicebus.enabled | Valeur qui indique s’il faut activer la configuration automatique JMS Servive Bus. La valeur par défaut est true . |
spring.jms.servicebus.idle-timeout | Durée du délai d’inactivité de la connexion qui indique la durée pendant laquelle le client s’attend à ce que Service Bus conserve une connexion active lorsqu’aucun message n’est remis. La valeur par défaut est 2m . |
spring.jms.servicebus.pricing-tier | Niveau tarifaire d’Azure Service Bus. Les valeurs prises en charge sont premium et standard. Le niveau Premium utilise Java Message Service (JMS) 2.0, tandis que le niveau standard utilise JMS 1.1 pour interagir avec Azure Service Bus. |
spring.jms.servicebus.listener.reply-pub-sub-domain | Valeur qui indique si le type de destination de réponse est une rubrique. Ne fonctionne que pour le topicJmsListenerContainerFactory haricot. |
spring.jms.servicebus.listener.phase | Phase dans laquelle ce conteneur doit être démarré et arrêté. |
spring.jms.servicebus.listener.reply-qos-settings | Configure l’utilisation lors de l’envoi QosSettings d’une réponse. |
spring.jms.servicebus.listener.subscription-durable | Valeur qui indique s’il faut rendre l’abonnement durable. Ne fonctionne que pour le topicJmsListenerContainerFactory haricot. La valeur par défaut est true . |
spring.jms.servicebus.listener.subscription-shared | Valeur qui indique s’il faut partager l’abonnement. Ne fonctionne que pour le topicJmsListenerContainerFactory haricot. |
spring.jms.servicebus.pool.block-if-full | Valeur qui indique s’il faut bloquer lorsqu’une connexion est demandée et que le pool est plein. Définissez-le sur false pour lever une JMSException valeur à la place. |
spring.jms.servicebus.pool.block-if-full-timeout | Période de blocage avant de lever une exception si le pool est toujours plein. |
spring.jms.servicebus.pool.enabled | Valeur qui indique si un JmsPoolConnectionFactory doit être créé, au lieu d’un élément normal ConnectionFactory . |
spring.jms.servicebus.pool.idle-timeout | Délai d’inactivité du pool de connexions. |
spring.jms.servicebus.pool.max-connections | Nombre maximal de connexions mises en pool. |
spring.jms.servicebus.pool.max-sessions-per-connection | Nombre maximal de sessions mises en pool par connexion dans le pool. |
spring.jms.servicebus.pool.time-between-expiration-case activée | Délai d’attente entre les exécutions du thread d’éviction de connexion inactive. Lorsqu’il est négatif, aucun thread d’éviction de connexion inactif n’est exécuté. |
spring.jms.servicebus.pool.use-anonymous-producers | Valeur qui indique s’il faut utiliser une seule instance anonyme MessageProducer . Définissez-le pour false créer un MessageProducer à chaque fois qu’un est requis. |
spring.jms.servicebus.prefetch-policy.all | Valeur de secours de l’option de prérécupération dans cet espace de noms Service Bus. La valeur par défaut est 0 . |
spring.jms.servicebus.prefetch-policy.durable-topic-prefetch | Nombre de prérécupérations pour la rubrique durable. La valeur par défaut est 0 . |
spring.jms.servicebus.prefetch-policy.queue-browser-prefetch | Nombre de prérécupérations pour le navigateur de file d’attente. La valeur par défaut est 0 . |
spring.jms.servicebus.prefetch-policy.queue-prefetch | Nombre de prérécupérations pour la file d’attente. La valeur par défaut est 0 . |
spring.jms.servicebus.prefetch-policy.topic-prefetch | Nombre de prérécupérations pour la rubrique. La valeur par défaut est 0 . |
Remarque
La configuration générale spring JMS est omise pour un court terme.
Pour plus d’informations, consultez le document Spring JMS.
Utilisation de base
Utiliser la chaîne de connexion Service Bus
La façon la plus simple de se connecter à l’application Service Bus pour Spring JMS est avec le chaîne de connexion.
Ajoutez les propriétés suivantes et vous pouvez y accéder.
spring:
jms:
servicebus:
connection-string: ${AZURE_SERVICEBUS_CONNECTION_STRING}
pricing-tier: ${PRICING_TIER}
Remarque
La valeur par défaut est ConnectionFactory
le CachingConnectionFactory
, qui ajoute Session
la mise en cache ainsi que MessageProducer
la mise en cache. Si vous souhaitez activer la fonctionnalité de regroupement de connexions de JmsPoolConnectionFactory
, définie spring.jms.servicebus.pool.enabled
sur true
. Vous trouverez d’autres options de configuration de regroupement (propriétés avec préfixe spring.jms.servicebus.pool.
) dans la section Configuration .
Exemples
Pour plus d’informations, consultez le référentiel azure-spring-boot-samples sur GitHub.