Övning – Ta emot meddelanden från Azure Service Bus

Slutförd

Nu ska vi skapa ett Spring Boot-program som kan ta emot meddelanden från en Azure Service Bus-kö.

Skapa ett Spring Boot-projekt

Nu ska vi öppna ett nytt terminalfönster, och precis som vi gjorde med spring boot-programmet använder vi Spring Initializr för att skapa ett Spring Boot-projekt.

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

Ta emot meddelanden från en Service Bus-kö

Här lägger vi återigen till beroendet och konfigurationen.

Lägg till maven-beroendet för Service Bus Spring Boot Starter

pom.xml I filen i lägger spring-receiver-applicationdu till följande kommando under beroenden:

		<!-- https://mvnrepository.com/artifact/com.azure.spring/spring-cloud-azure-starter-servicebus-jms -->
		<dependency>
		    <groupId>com.azure.spring</groupId>
		    <artifactId>spring-cloud-azure-starter-servicebus-jms</artifactId>
		    <version>5.18.0</version>
		</dependency>

Lägg till konfigurationsparametrarna

  1. spring-receiver-application\src\main\resources I mappen redigerar du application.properties filen och lägger till följande parametrar:

    server.port=9090
    
    spring.jms.servicebus.connection-string=<xxxxx>
    spring.jms.servicebus.idle-timeout=20000
    spring.jms.servicebus.pricing-tier=premium
    
  2. spring.jms.servicebus.connection-string Ange egenskapen till anslutningssträng till service bus-namnområdet som du sparade tidigare.

Lägga till kod för att ta emot meddelanden från Service Bus

Sedan lägger vi till affärslogik för att ta emot meddelanden från en Service Bus-kö.

I katalogen src/main/java/com/example/demo skapar du en ReceiveController.java fil med följande innehåll:

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 + ">");
    }
}

Köra appen lokalt

  1. Växla tillbaka till roten i exempelmappen spring-receiver-application pom.xml där filen finns och kör följande kommando för att starta Spring Boot-programmet. Det här steget förutsätter att du har mvn installerat på din Windows-dator och att det finns i PATH.

    mvn spring-boot:run
    
  2. När programstarten är klar visas följande logginstruktioner i konsolfönstret.

    Received <Hello>
    Received <HelloAgain>
    Received <HelloOnceAgain>
    

    Utseendet på -instruktionerna anger att Spring Boot-programmet tar emot meddelanden från Service Bus-kön.

Se hela arbetsflödet i praktiken

Om avsändarprogrammet (från enhet 4) fortfarande körs kan du välja följande länk för att skicka ett meddelande till Service Bus-kön:

http://localhost:8080/messages?message=HelloOnceAgainAndAgain

Mottagarprogrammet tar emot meddelandet från Service Bus-kön och visar det i konsolen.

Received <HelloOnceAgainAndAgain>