Partilhar via


Usar o Barramento de Serviço do Azure com JMS

Este artigo aplica-se a: ✔️ Versão 4.14.0 Versão 5.8.0 ✔️

Este artigo descreve como usar o Barramento de Serviço do Azure com a API JMS integrada à estrutura JMS do Spring.

Você precisa fornecer uma cadeia de conexão do Barramento de Serviço do Azure, que é analisada no nome de usuário de logon, senha e URI remoto para o agente AMQP.

Configuração de dependência

Adicione as seguintes dependências se quiser migrar seu aplicativo Spring JMS para usar o Barramento de Serviço do Azure.

<dependency>
    <groupId>com.azure.spring</groupId>
    <artifactId>spring-cloud-azure-starter-servicebus-jms</artifactId>
</dependency>

Configuração

A tabela a seguir descreve as propriedades configuráveis ao usar o suporte ao Spring JMS:

Property Description
spring.jms.servicebus.connection-string A cadeia de conexão do Barramento de Serviço do Azure, para quando você deseja fornecer a cadeia de conexão diretamente.
spring.jms.servicebus.topic-client-id O ID do cliente JMS. Só funciona para o topicJmsListenerContainerFactory feijão.
spring.jms.servicebus.enabled Um valor que indica se a configuração automática do Servive Bus JMS deve ser habilitada. O valor predefinido é true.
spring.jms.servicebus.idle-timeout A duração do tempo limite ocioso da conexão que indica por quanto tempo o cliente espera que o Service Bus mantenha uma conexão ativa quando nenhuma mensagem é entregue. O valor predefinido é 2m.
spring.jms.servicebus.camada de preços A camada de preço do Barramento de Serviço do Azure. Os valores suportados são premium e standard. A camada Premium usa o Java Message Service (JMS) 2.0, enquanto a camada padrão usa o JMS 1.1 para interagir com o Barramento de Serviço do Azure.
spring.jms.servicebus.listener.reply-pub-subdomínio Um valor que indica se o tipo de destino da resposta é um tópico. Só funciona para o topicJmsListenerContainerFactory feijão.
spring.jms.servicebus.listener.phase A fase em que este recipiente deve ser iniciado e parado.
spring.jms.servicebus.listener.reply-qos-configurações Configura o QosSettings a ser usado ao enviar uma resposta.
spring.jms.servicebus.listener.subscription-durable Um valor que indica se a assinatura deve ser durável. Só funciona para o topicJmsListenerContainerFactory feijão. O valor predefinido é true.
spring.jms.servicebus.listener.subscription-shared Um valor que indica se a assinatura deve ser compartilhada. Só funciona para o topicJmsListenerContainerFactory feijão.
spring.jms.servicebus.pool.block-se-full Um valor que indica se uma conexão deve ser bloqueada e o pool está cheio. Defina como false para lançar um JMSException em vez disso.
spring.jms.servicebus.pool.block-if-full-timeout O período de bloqueio antes de lançar uma exceção se a piscina ainda estiver cheia.
spring.jms.servicebus.pool.enabled Um valor que indica se um deve ser criado, em vez de um JmsPoolConnectionFactory regular ConnectionFactory.
spring.jms.servicebus.pool.idle-timeout O tempo limite ocioso do pool de conexões.
spring.jms.servicebus.pool.max-conexões O número máximo de conexões agrupadas.
spring.jms.servicebus.pool.max-sessions-per-connection O número máximo de sessões em pool por conexão no pool.
spring.jms.servicebus.pool.time-between-expiration-check O tempo para dormir entre as execuções do fio de despejo de conexão ociosa. Quando negativo, nenhum thread de remoção de conexão ociosa é executado.
spring.jms.servicebus.pool.use-anonymous-produtores Um valor que indica se apenas uma instância anônima MessageProducer deve ser usada. Configure-o para false criar um MessageProducer sempre que for necessário.
spring.jms.servicebus.prefetch-policy.all O valor de fallback para a opção de pré-busca neste namespace do Service Bus. O valor predefinido é 0.
spring.jms.servicebus.prefetch-policy.durable-topic-prefetch O número de pré-busca para tópico durável. O valor predefinido é 0.
spring.jms.servicebus.prefetch-policy.queue-browser-prefetch O número de pré-busca para o navegador de fila. O valor predefinido é 0.
spring.jms.servicebus.prefetch-policy.queue-prefetch O número de pré-busca para fila. O valor predefinido é 0.
spring.jms.servicebus.prefetch-policy.topic-prefetch O número de pré-busca por tópico. O valor predefinido é 0.

Nota

A configuração geral do Spring JMS é omitida para abreviar.

Para obter mais informações, consulte Documento JMS do Spring.

Utilização básica

Usar cadeia de conexão do Service Bus

A maneira mais simples de se conectar ao aplicativo JMS do Service Bus for Spring é com a cadeia de conexão.

Adicione as seguintes propriedades e pronto.

spring:
  jms:
    servicebus:
      connection-string: ${AZURE_SERVICEBUS_CONNECTION_STRING}
      pricing-tier: ${PRICING_TIER}

Nota

O padrão habilitado ConnectionFactory é o CachingConnectionFactory, que adiciona Session cache e MessageProducer cache. Se desejar ativar o recurso de pool de conexões do JmsPoolConnectionFactory, defina spring.jms.servicebus.pool.enabled como true. Você pode encontrar outras opções de configuração de pool (propriedades com prefixospring.jms.servicebus.pool.) na seção Configuração.

Exemplos

Para obter mais informações, consulte o repositório azure-spring-boot-samples no GitHub.