Ćwiczenie — odbieranie komunikatów z usługi Azure Service Bus

Ukończone

Teraz utwórzmy aplikację Spring Boot, która może odbierać komunikaty z kolejki usługi Azure Service Bus.

Tworzenie projektu Spring Boot

Otwórzmy nowe okno terminalu i tak jak zrobiliśmy to w przypadku aplikacji nadawcy Spring Boot, użyjemy narzędzia Spring Initializr do utworzenia projektu 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 -

Odbieranie komunikatów z kolejki usługi Service Bus

Ponownie dodamy zależność i konfigurację.

Dodawanie zależności narzędzia maven dla szablonu startowego Spring Boot usługi Service Bus

pom.xml W pliku w pliku dodaj spring-receiver-applicationnastępujące polecenie w obszarze zależności:

		<!-- 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>

Dodawanie parametrów konfiguracji

  1. W folderze spring-receiver-application\src\main\resources edytuj application.properties plik, dodaj następujące parametry:

    server.port=9090
    
    spring.jms.servicebus.connection-string=<xxxxx>
    spring.jms.servicebus.idle-timeout=20000
    spring.jms.servicebus.pricing-tier=premium
    
  2. spring.jms.servicebus.connection-string Ustaw właściwość na parametry połączenia na przestrzeń nazw usługi Service Bus, która została zapisana wcześniej.

Dodawanie kodu do odbierania komunikatów z usługi Service Bus

Następnie dodajemy logikę biznesową do odbierania komunikatów z kolejki usługi Service Bus.

src/main/java/com/example/demo W katalogu utwórz ReceiveController.java plik o następującej zawartości:

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 + ">");
    }
}

Lokalne uruchamianie aplikacji

  1. Wróć do katalogu głównego folderu przykładowego spring-receiver-application , w którym pom.xml znajduje się plik, i uruchom następujące polecenie, aby uruchomić aplikację Spring Boot. W tym kroku przyjęto założenie, że zainstalowano mvn go na komputerze z systemem Windows i znajduje się on w pliku PATH.

    mvn spring-boot:run
    
  2. Po zakończeniu uruchamiania aplikacji w oknie konsoli zostaną wyświetlone następujące instrukcje dziennika.

    Received <Hello>
    Received <HelloAgain>
    Received <HelloOnceAgain>
    

    Wygląd instrukcji wskazuje, że aplikacja Spring Boot pomyślnie odbiera komunikaty z kolejki usługi Service Bus.

Wyświetlanie całego przepływu pracy w akcji

Jeśli aplikacja nadawcy (z lekcji 4) jest nadal uruchomiona, możesz wybrać następujący link, aby wysłać komunikat do kolejki usługi Service Bus:

http://localhost:8080/messages?message=HelloOnceAgainAndAgain

Aplikacja odbiorcy odbiera komunikat z kolejki usługi Service Bus i wyświetla go w konsoli.

Received <HelloOnceAgainAndAgain>