Упражнение. Отправка сообщений в служебную шину Azure

Завершено

В этом уроке вы создадите приложение Spring Boot, которое отправляет сообщения в очередь служебной шины Azure. Выполните следующие действия локально.

Создание проекта Spring Boot

Чтобы создать проект Spring Boot, мы используем Spring Initializr со следующей командной строкой:

curl https://start.spring.io/starter.tgz -d type=maven-project -d dependencies=web -d baseDir=spring-sender-application -d bootVersion=3.3.0.RELEASE -d javaVersion=1.8 | tar -xzvf -

Отправьте сообщения в очередь служебной шины

Теперь давайте отправим некоторые сообщения в очередь служебной шины.

Добавление зависимости maven для начального запуска служебной шины Spring Boot

В файле pom.xml в вашем spring-sender-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>

Добавление параметров конфигурации

  1. В папке spring-sender-application\src\main\resources измените файл application.properties, добавьте следующие параметры:

    spring.jms.servicebus.connection-string=<xxxxx>
    spring.jms.servicebus.idle-timeout=20000
    spring.jms.servicebus.pricing-tier=premium
    
  2. Задайте для свойства spring.jms.servicebus.connection-string строку подключения к пространству имен вашей службы Service Bus, которую вы сохранили ранее.

Добавление кода для отправки сообщений в служебную шину

Затем мы добавим бизнес-логику для отправки сообщений в очередь сервисной шины.

В каталоге src/main/java/com/example/demoсоздайте файл SendController.java со следующим содержимым:

package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class SendController {
    
    private static final String queue = "test-queue-jms";

    @Autowired
    private JmsTemplate jmsTemplate;

    @GetMapping("/messages")
    public String postMessage(@RequestParam String message) {
        jmsTemplate.send(queue, s -> s.createTextMessage(message));
        return message;
    }
}

Локальное запуск приложения

  1. Вернитесь в корневой каталог примера spring-sender-application папку, в которой находится файл pom.xml, и выполните следующую команду, чтобы запустить приложение Spring Boot. На этом шаге предполагается, что на компьютере Windows установлен mvn, и он находится в PATH.

    mvn spring-boot:run
    
  2. После завершения запуска приложения можно выбрать следующие ссылки для отправки сообщений в очередь служебной шины.

    http://localhost:8080/messages?message=Hello
    
    http://localhost:8080/messages?message=HelloAgain
    
    http://localhost:8080/messages?message=HelloOnceAgain
    

    Можно изменить строковое значение в параметре запроса сообщения и отправить любой текст в очередь служебной шины.

    Браузер отображает все, что передается в качестве параметра строки запроса сообщения, что означает, что служебная шина принимает сообщение.

Смотреть сообщения в очереди Сервисной Шины

Заметка

Хотя просмотр сообщений помогает понять сторону отправки сообщений, этот шаг необязателен.

Эти сообщения будут получены на следующем шаге этого руководства.

Вы можете перейти к просмотру сообщений в обозревателе служебной шины на портале Azure:

  1. Вернитесь на портал Azure, выберите Очереди в меню слева в разделе Объекты.

  2. Выберите соответствующую очередь. Например, очередь для этой демонстрации - test-queue-jms .

  3. В левой области выберите обозреватель служебной шины.

  4. Выберите Просмотреть с начала. Вы увидите все три сообщения, отправленные с помощью команд HTTP.

    снимок экрана возможностей просмотра в Service Bus Explorer.

  5. Выберите сообщение, чтобы увидеть текст сообщения в нижней области.

    снимок экрана обозревателя служебной шины с просмотром сообщений.