Übung – Senden von Nachrichten an Azure Service Bus

Abgeschlossen

In dieser Einheit erstellen Sie eine Spring Boot-Anwendung, die Nachrichten an eine Azure Service Bus-Warteschlange sendet. Führen Sie die folgenden Schritte lokal aus.

Erstellen eines Spring Boot-Projekts

Um unser Spring Boot-Projekt zu erstellen, verwenden wir Spring Initializr mit der folgenden Befehlszeile:

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

Senden von Nachrichten an eine Service Bus-Warteschlange

Nun senden Sie einige Nachrichten an eine Service Bus-Warteschlange.

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

  1. Bearbeiten Sie im Ordner spring-sender-application\src\main\resources die Datei application.properties, und fügen Sie die folgenden Parameter hinzu:

    spring.jms.servicebus.connection-string=<xxxxx>
    spring.jms.servicebus.idle-timeout=20000
    
  2. 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 Senden von Nachrichten an Service Bus

Dann fügen wir die Geschäftslogik hinzu, um Nachrichten an eine Service Bus-Warteschlange zu senden.

Erstellen Sie im Verzeichnis src/main/java/com/example/demo eine Datei namens SendController.java mit dem folgenden Inhalt:

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;
    }
}

Lokales Ausführen der Anwendung

  1. Wechseln Sie zurück zum Stamm des Beispielordners spring-sender-application, in dem sich die Datei pom.xml befindet, und führen Sie den folgenden Befehl aus, um Ihre Spring Boot-Anwendung zu starten. In diesem Schritt wird davon ausgegangen, dass Sie mvn auf Ihrem Windows-Computer installiert haben, und es sich in PATH befindet.

    mvn spring-boot:run
    
  2. Nachdem der Anwendungsstart abgeschlossen ist, können Sie die folgenden Links auswählen, um Nachrichten an die Service Bus-Warteschlange zu senden.

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

    Sie können den Zeichenfolgenwert im Nachrichtenabfrageparameter ändern und beliebigen Text an die Service Bus-Warteschlange senden.

    Der Browser zeigt an, was auch immer als Parameter für den Abfrage-String der Nachricht übergeben wird, was bedeutet, dass der Service Bus die Nachricht annimmt.

Anzeigen der Nachrichten in der Service Bus-Warteschlange

Hinweis

Auch wenn Sie durch das Anzeigen der Nachrichten die Sendeseite besser verstehen lernen, ist dieser Schritt optional.

Diese Nachrichten werden im nächsten Schritt dieses Tutorials empfangen.

Sie können mit dem Anzeigen der Meldungen im Service Bus-Explorer in der Azure-Portal fortfahren:

  1. Zurück im Azure-Portal wählen Sie im linken Menü unter Entitäten die Option Warteschlangen aus.

  2. Wählen Sie die geeignete Warteschlange aus. Die Warteschlange für diese Demo heißt z. B. test-queue-jms.

  3. Wählen Sie im linken Bereich Service Bus-Explorer aus.

  4. Wählen Sie Von Anfang an einsehen aus. Sie sollten alle drei Nachrichten sehen, die Sie mit HTTP-Befehlen gesendet haben.

    Screenshot of the Service Bus explorer peek experience.

  5. Wählen Sie eine Nachricht aus, um den Nachrichtentext im unteren Bereich anzuzeigen.

    Screenshot of the Service Bus explorer with peeked messages.