Oefening: berichten ontvangen van Azure Service Bus
Nu gaan we een Spring Boot-toepassing maken die berichten van een Azure Service Bus-wachtrij kan ontvangen.
Een Spring Boot-project maken
Laten we een nieuw terminalvenster openen en net als bij de afzender van de Spring Boot-toepassing gebruiken we de Spring Initializr om een Spring Boot-project te maken.
curl https://start.spring.io/starter.tgz -d type=maven-project -d dependencies=web -d baseDir=spring-receiver-application -d bootVersion=2.4.1.RELEASE -d javaVersion=1.8 | tar -xzvf -
Berichten ontvangen van een Service Bus-wachtrij
Hier voegen we nogmaals de afhankelijkheid en configuratie toe.
De maven-afhankelijkheid voor Service Bus Spring Boot Starter toevoegen
Voeg in het bestand in het pom.xml
spring-receiver-application
bestand de volgende opdracht toe onder afhankelijkheden:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-servicebus-jms-spring-boot-starter</artifactId>
<version>2.3.3</version>
</dependency>
De configuratieparameters toevoegen
Bewerk het
application.properties
bestand in despring-receiver-application\src\main\resources
map en voeg de volgende parameters toe:server.port=9090 spring.jms.servicebus.connection-string=<xxxxx> spring.jms.servicebus.idle-timeout=20000
Stel de
spring.jms.servicebus.connection-string
eigenschap in op de verbindingsreeks op uw Service Bus-naamruimte, die u eerder hebt opgeslagen.
Code toevoegen voor het ontvangen van berichten van Service Bus
Vervolgens voegen we bedrijfslogica toe om berichten te ontvangen van een Service Bus-wachtrij.
Maak in de src/main/java/com/example/demo
map een ReceiveController.java
bestand met de volgende inhoud:
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 + ">");
}
}
De toepassing lokaal uitvoeren
Ga terug naar de hoofdmap van de voorbeeldmap
spring-receiver-application
waar hetpom.xml
bestand zich bevindt en voer de volgende opdracht uit om uw Spring Boot-toepassing te starten. In deze stap wordt ervan uitgegaan dat u op uw Windows-computer hebtmvn
geïnstalleerd en dat deze zich in dePATH
.mvn spring-boot:run
Nadat het opstarten van de toepassing is voltooid, ziet u de volgende logboekinstructies in het consolevenster.
Received <Hello> Received <HelloAgain> Received <HelloOnceAgain>
Het uiterlijk van de instructies geeft aan dat de Spring Boot-toepassing berichten ontvangt van de Service Bus-wachtrij.
De volledige werkstroom in actie bekijken
Als uw afzendertoepassing (van les 4) nog steeds wordt uitgevoerd, kunt u de volgende koppeling selecteren om een bericht naar de Service Bus-wachtrij te verzenden:
http://localhost:8080/messages?message=HelloOnceAgainAndAgain
Uw ontvangertoepassing ontvangt het bericht uit de Service Bus-wachtrij en wordt weergegeven in uw console.
Received <HelloOnceAgainAndAgain>