Использование Служебная шина Azure с JMS

Эта статья относится к: ✔️ версия 4.14.0 ✔️ версии 5.8.0

В этой статье описывается, как использовать Служебная шина Azure с API JMS, интегрированным в платформу Spring JMS.

Необходимо предоставить Служебная шина Azure строка подключения, который анализируется в имени пользователя для входа, пароля и удаленного URI для брокера AMQP.

Настройка зависимостей

Добавьте следующие зависимости, если вы хотите перенести приложение Spring JMS для использования Служебная шина Azure.

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

Настройка

В следующей таблице описываются настраиваемые свойства при использовании поддержки Spring JMS:

Свойство Description
spring.jms.servicebus.connection-string Служебная шина Azure строка подключения, если требуется предоставить строка подключения напрямую.
spring.jms.servicebus.topic-client-id Идентификатор клиента JMS. Работает только для боба topicJmsListenerContainerFactory .
spring.jms.servicebus.enabled Значение, указывающее, следует ли включить автоматическую настройку JMS служебной шины. Значение по умолчанию — true.
spring.jms.servicebus.idle-timeout Время ожидания простоя подключения, указывающее, сколько времени клиент ожидает, что служебная шина оставаться в состоянии, если сообщения не доставляются. Значение по умолчанию — 2m.
spring.jms.servicebus.ценовая категория Ценовая категория Служебная шина Azure. Поддерживаемые значения : "Премиум" и "Стандартный". Уровень "Премиум" использует службу сообщений Java (JMS) 2.0, а уровень "Стандартный" использует JMS 1.1 для взаимодействия с Служебная шина Azure.
spring.jms.servicebus.listener.reply-pub-sub-domain Значение, указывающее, является ли тип назначения ответа темой. Работает только для боба topicJmsListenerContainerFactory .
spring.jms.servicebus.listener.phase Этап запуска и остановки этого контейнера.
spring.jms.servicebus.listener.reply-qos-settings Настраивает QosSettings использование при отправке ответа.
spring.jms.servicebus.listener.subscription-durable Значение, указывающее, следует ли сделать подписку устойчивой. Работает только для боба topicJmsListenerContainerFactory . Значение по умолчанию — true.
spring.jms.servicebus.listener.subscription-shared Значение, указывающее, следует ли предоставлять общий доступ к подписке. Работает только для боба topicJmsListenerContainerFactory .
spring.jms.servicebus.pool.block-if-full Значение, указывающее, следует ли блокировать при запросе подключения и заполнение пула. Присвойте ему значение false, чтобы создать JMSException вместо него значение false.
spring.jms.servicebus.pool.block-if-full-timeout Период блокировки перед вызовом исключения, если пул по-прежнему заполнен.
spring.jms.servicebus.pool.enabled Значение, указывающее, следует ли создавать объект JmsPoolConnectionFactory , а не обычный ConnectionFactory.
spring.jms.servicebus.pool.idle-timeout Время ожидания простоя пула подключений.
spring.jms.servicebus.pool.max-connections Максимальное количество подключений в пуле.
spring.jms.servicebus.pool.max-session-per-connection Максимальное количество сеансов в пуле для каждого подключения.
spring.jms.servicebus.pool.time-between-expiration-проверка Время сна между запусками потока вытеснения бездействующего подключения. Если это отрицательно, поток вытеснения бездействия подключения не выполняется.
spring.jms.servicebus.pool.use-anonymous-producers Значение, указывающее, следует ли использовать только один анонимный MessageProducer экземпляр. Установите его для false создания каждый MessageProducer раз, когда требуется.
spring.jms.servicebus.prefetch-policy.all Резервное значение для параметра предварительной выборки в этом служебная шина пространстве имен. Значение по умолчанию — 0.
spring.jms.servicebus.prefetch-policy.durable-topic-prefetch Количество предварительных выборок для устойчивой темы. Значение по умолчанию — 0.
spring.jms.servicebus.prefetch-policy.queue-browser-prefetch Количество предварительной выборки для браузера очередей. Значение по умолчанию — 0.
spring.jms.servicebus.prefetch-policy.queue-prefetch Количество предварительной выборки для очереди. Значение по умолчанию — 0.
spring.jms.servicebus.prefetch-policy.topic-prefetch Количество предварительных выборок для раздела. Значение по умолчанию — 0.

Примечание.

Общая конфигурация Spring JMS опущена коротко.

Дополнительные сведения см. в документе Spring JMS.

Базовое использование

Использование строки подключения служебная шина

Самый простой способ подключения к служебная шина для приложения Spring JMS — это строка подключения.

Добавьте следующие свойства, и вы можете пойти.

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

Примечание.

По умолчанию включен ConnectionFactory параметр CachingConnectionFactory, который добавляет Session кэширование, а также MessageProducer кэширование. Если вы хотите активировать функцию пула подключений JmsPoolConnectionFactory, установите для этого значения spring.jms.servicebus.pool.enabledtrue. Другие параметры конфигурации пула (свойства с префиксом spring.jms.servicebus.pool.) можно найти в разделе "Конфигурация ".

Примеры

Дополнительные сведения см. в репозитории azure-spring-boot-samples на сайте GitHub.