Übung – Empfangen von Nachrichten von Azure Service Bus
Lassen Sie uns nun eine Spring Boot-Anwendung erstellen, die Nachrichten von einer Azure Service Bus-Warteschlange empfangen kann.
Erstellen eines Spring Boot-Projekts
Lassen Sie uns ein neues Terminalfenster öffnen, und genau wie bei der Spring Boot-Senderanwendung verwenden wir den Spring Initializr, um ein Spring Boot-Projekt zu erstellen.
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 -
Empfangen von Nachrichten aus einer Service Bus-Warteschlange
Auch hier fügen wir die Abhängigkeit und die Konfiguration hinzu.
Hinzufügen einer Maven-Abhängigkeit für den Service Bus-Spring Boot-Starter
Fügen Sie in der Datei pom.xml
in Ihrer spring-receiver-application
unter „dependencies“ den folgenden Befehl hinzu:
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-servicebus-jms-spring-boot-starter</artifactId>
<version>2.3.3</version>
</dependency>
Hinzufügen von Konfigurationsparametern
Bearbeiten Sie im Ordner
spring-receiver-application\src\main\resources
die Dateiapplication.properties
, und fügen Sie die folgenden Parameter hinzu:server.port=9090 spring.jms.servicebus.connection-string=<xxxxx> spring.jms.servicebus.idle-timeout=20000
Legen Sie die Eigenschaft
spring.jms.servicebus.connection-string
auf die Verbindungszeichenfolge für Ihren Service Bus-Namespace fest, die Sie zuvor gespeichert haben.
Hinzufügen von Code zum Empfangen von Nachrichten von Service Bus
Dann fügen wir Geschäftslogik hinzu, um Nachrichten von einer Service Bus-Warteschlange zu empfangen.
Erstellen Sie im Verzeichnis src/main/java/com/example/demo
eine Datei namens ReceiveController.java
mit dem folgenden Inhalt:
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 + ">");
}
}
Lokales Ausführen der Anwendung
Wechseln Sie zurück zum Stamm des Beispielordners
spring-receiver-application
, in dem sich die Dateipom.xml
befindet, und führen Sie den folgenden Befehl aus, um Ihre Spring Boot-Anwendung zu starten. In diesem Schritt wird davon ausgegangen, dass Siemvn
auf Ihrem Windows-Computer installiert haben, und es sich inPATH
befindet.mvn spring-boot:run
Nachdem der Anwendungsstart abgeschlossen ist, werden die folgenden Protokollanweisungen im Konsolenfenster angezeigt.
Received <Hello> Received <HelloAgain> Received <HelloOnceAgain>
Das Erscheinen der Anweisungen zeigt an, dass die Spring Boot-Anwendung erfolgreich Nachrichten von der Service Bus-Warteschlange empfängt.
Anzeigen des kompletten Workflows in Aktion
Wenn die Absenderanwendung (aus Lerneinheit 4) noch ausgeführt wird, können Sie den folgenden Link auswählen, um eine Nachricht an die Service Bus-Warteschlange zu senden:
http://localhost:8080/messages?message=HelloOnceAgainAndAgain
Ihre Empfängeranwendung empfängt die Nachricht aus der Service Bus-Warteschlange und zeigt sie in Ihrer Konsole an.
Received <HelloOnceAgainAndAgain>