Ćwiczenie — odbieranie komunikatów z usługi Azure Service Bus
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-application
nastę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
W folderze
spring-receiver-application\src\main\resources
edytujapplication.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
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
Wróć do katalogu głównego folderu przykładowego
spring-receiver-application
, w którympom.xml
znajduje się plik, i uruchom następujące polecenie, aby uruchomić aplikację Spring Boot. W tym kroku przyjęto założenie, że zainstalowanomvn
go na komputerze z systemem Windows i znajduje się on w plikuPATH
.mvn spring-boot:run
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>