Упражнение. Получение сообщений из служебной шины Azure
Теперь создадим приложение Spring Boot, которое может получать сообщения из очереди служебной шины Azure.
Создание проекта Spring Boot
Давайте открываем новое окно терминала, и так же, как и с приложением Spring Boot отправителя, мы используем Spring Initializr для создания проекта Spring Boot.
curl https://start.spring.io/starter.tgz -d type=maven-project -d dependencies=web -d baseDir=spring-receiver-application -d bootVersion=3.3.0.RELEASE -d javaVersion=1.8 | tar -xzvf -
Получение сообщений из очереди Service Bus
Здесь снова мы добавим зависимость и конфигурацию.
Добавление зависимости maven для начального запуска служебной шины Spring Boot
В файле pom.xml
в вашем spring-receiver-application
добавьте следующую команду в раздел dependencies:
<!-- https://mvnrepository.com/artifact/com.azure.spring/spring-cloud-azure-starter-servicebus-jms -->
<dependency>
<groupId>com.azure.spring</groupId>
<artifactId>spring-cloud-azure-starter-servicebus-jms</artifactId>
<version>5.18.0</version>
</dependency>
Добавление параметров конфигурации
В папке
spring-receiver-application\src\main\resources
измените файлapplication.properties
, добавьте следующие параметры:server.port=9090 spring.jms.servicebus.connection-string=<xxxxx> spring.jms.servicebus.idle-timeout=20000 spring.jms.servicebus.pricing-tier=premium
Задайте для свойства
spring.jms.servicebus.connection-string
строку подключения в пространство имен служебной шины, сохраненное ранее.
Добавьте код для получения сообщений из шины сервиса
Затем мы добавим бизнес-логику для обработки сообщений из очереди Service Bus.
В каталоге src/main/java/com/example/demo
создайте файл ReceiveController.java
со следующим содержимым:
package com.example.demo;
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;
@Component
public class ReceiveController {
@JmsListener(destination = "test-queue-jms")
public void receiveMessage(String message) {
System.out.println("Received <" + message + ">");
}
}
Локальное запуск приложения
Вернитесь в корневой каталог примера
spring-receiver-application
папку, в которой находится файлpom.xml
, и выполните следующую команду, чтобы запустить приложение Spring Boot. На этом шаге предполагается, что на компьютере Windows установленmvn
, и он находится вPATH
.mvn spring-boot:run
После завершения запуска приложения вы увидите следующие записи журнала в окне консоли.
Received <Hello> Received <HelloAgain> Received <HelloOnceAgain>
Внешний вид утверждений указывает на то, что приложение Spring Boot успешно получает сообщения из очереди Service Bus.
Просмотр всего рабочего процесса в действии
Если приложение отправителя (из модуля 4) по-прежнему запущено, можно выбрать следующую ссылку, чтобы отправить сообщение в очередь Service Bus:
http://localhost:8080/messages?message=HelloOnceAgainAndAgain
Приложение-получатель получает сообщение из очереди служебной шины и отображает его в консоли.
Received <HelloOnceAgainAndAgain>