Cvičení – odesílání zpráv do služby Azure Service Bus

Dokončeno

V této lekci vytvoříte aplikaci Spring Boot, která odesílá zprávy do fronty služby Azure Service Bus. Proveďte následující kroky místně.

Vytvoření projektu Spring Boot

K vytvoření projektu Spring Boot použijeme Spring Initializr s následujícím příkazovým řádkem:

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 -

Odesílání zpráv do fronty služby Service Bus

Teď odešleme některé zprávy do fronty služby Service Bus.

Přidání závislosti maven pro úvodní sadu Spring Boot služby Service Bus

pom.xml Do souboru v spring-sender-applicationsouboru přidejte do závislostí následující příkaz:

            <dependency>
                <groupId>com.microsoft.azure</groupId>
                <artifactId>azure-servicebus-jms-spring-boot-starter</artifactId>
                <version>2.3.3</version>
            </dependency>

Přidání parametrů konfigurace

  1. spring-sender-application\src\main\resources Do složky upravte application.properties soubor a přidejte následující parametry:

    spring.jms.servicebus.connection-string=<xxxxx>
    spring.jms.servicebus.idle-timeout=20000
    
  2. spring.jms.servicebus.connection-string Nastavte vlastnost na připojovací řetězec na obor názvů služby Service Bus, který jste si uložili dříve.

Přidání kódu pro odesílání zpráv do služby Service Bus

Dále přidáme obchodní logiku pro odesílání zpráv do fronty služby Service Bus.

V adresáři src/main/java/com/example/demovytvořte soubor s následujícím obsahem SendController.java :

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

Aplikaci spustíte místně.

  1. Přepněte zpět do kořenové složky ukázky spring-sender-application , ve které pom.xml se soubor nachází, a spuštěním následujícího příkazu spusťte aplikaci Spring Boot. Tento krok předpokládá, že jste na počítači s Windows nainstalovali mvn a je v systému PATH.

    mvn spring-boot:run
    
  2. Po dokončení spuštění aplikace můžete vybrat následující odkazy pro odesílání zpráv do fronty Service Bus.

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

    Hodnotu řetězce v parametru dotazu zprávy můžete změnit a odeslat jakýkoli text do fronty služby Service Bus.

    Prohlížeč zobrazí vše, co se předává jako parametr řetězce dotazu zprávy, což znamená, že Service Bus zprávu přijímá.

Zobrazení zpráv ve frontě služby Service Bus

Poznámka:

I když zobrazení zpráv pomáhá porozumět straně odesílání zpráv, tento krok je nepovinný.

Tyto zprávy budou přijaty v dalším kroku tohoto kurzu.

Můžete pokračovat zobrazením zpráv v Průzkumníku služby Service Bus na webu Azure Portal:

  1. Zpět na webu Azure Portal vyberte Fronty v nabídce vlevo v části Entity.

  2. Vyberte příslušnou frontu. Například fronta pro tuto ukázku je test-queue-jms.

  3. V levém podokně vyberte Service Bus Explorer.

  4. Vyberte Náhled od začátku. Měly by se zobrazit všechny tři zprávy, které jste odeslali pomocí příkazů HTTP.

    Screenshot of the Service Bus explorer peek experience.

  5. Výběrem zprávy zobrazíte text zprávy v dolním podokně.

    Screenshot of the Service Bus explorer with peeked messages.