Gyakorlat – Üzenetek küldése az Azure Service Busba

Befejeződött

Ebben a leckében létrehoz egy Spring Boot-alkalmazást, amely üzeneteket küld egy Azure Service Bus-üzenetsorba. Hajtsa végre a következő lépéseket helyileg.

Spring Boot-projekt létrehozása

A Spring Boot-projekt létrehozásához a Spring Initializrt használjuk a következő parancssorral:

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 -

Üzenetek küldése Service Bus-üzenetsorba

Most küldjön néhány üzenetet egy Service Bus-üzenetsorba.

Adja hozzá a Maven-függőséget a Service Bus Spring Boot Starterhez

pom.xml A fájlban spring-sender-applicationadja hozzá a következő parancsot a függőségek alatt:

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

A konfigurációs paraméterek hozzáadása

  1. spring-sender-application\src\main\resources A mappában szerkessze a application.properties fájlt, és adja hozzá a következő paramétereket:

    spring.jms.servicebus.connection-string=<xxxxx>
    spring.jms.servicebus.idle-timeout=20000
    
  2. Állítsa a spring.jms.servicebus.connection-string tulajdonságot a kapcsolati sztring a korábban mentett Service Bus-névtérre.

Üzenetküldési kód hozzáadása a Service Bushoz

Ezután hozzáadjuk az üzleti logikát, amely üzeneteket küld egy Service Bus-üzenetsorba.

A címtárban src/main/java/com/example/demohozzon létre egy SendController.java fájlt, amely a következő tartalommal rendelkezik:

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

Az alkalmazás helyi futtatása

  1. Váltson vissza annak a mintamappának spring-sender-application a gyökerére, amelyben a pom.xml fájl található, és futtassa a következő parancsot a Spring Boot-alkalmazás elindításához. Ez a lépés feltételezi, mvn hogy telepítette a Windows-számítógépre, és a PATH.

    mvn spring-boot:run
    
  2. Az alkalmazás indítása után az alábbi hivatkozásokat választva üzeneteket küldhet a Service Bus-üzenetsorba.

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

    Módosíthatja az üzenet lekérdezési paraméterének sztringértékét, és bármilyen szöveget elküldhet a Service Bus-üzenetsorba.

    A böngésző megjeleníti az üzenet lekérdezési sztring paramétereként átadott értéket, ami azt jelenti, hogy a Service Bus elfogadja az üzenetet.

Az üzenetek megtekintése a Service Bus-üzenetsoron

Feljegyzés

Bár az üzenetek megtekintése segít megérteni az üzenetek küldési oldalát, ez a lépés nem kötelező.

Ezeket az üzeneteket az oktatóanyag következő lépésében fogjuk megkapni.

Az üzeneteket a Service Bus explorerben tekintheti meg az Azure Portalon:

  1. Az Azure Portalon válassza a Bal oldali menü Üzenetsorok elemét az Entitások csoportban.

  2. Válassza ki a megfelelő üzenetsort. A bemutató üzenetsora például a test-queue-jms.

  3. A bal oldali panelen válassza a Service Bus Explorert.

  4. Válassza a Betekintés lehetőséget az elejétől kezdve. A HTTP-parancsokkal küldött mindhárom üzenetnek meg kell jelennie.

    Screenshot of the Service Bus explorer peek experience.

  5. Jelöljön ki egy üzenetet az üzenet törzsének megtekintéséhez az alsó panelen.

    Screenshot of the Service Bus explorer with peeked messages.