Oefening: berichten verzenden naar Azure Service Bus

Voltooid

In deze les maakt u een Spring Boot-toepassing waarmee berichten worden verzonden naar een Azure Service Bus-wachtrij. Voer de volgende stappen lokaal uit.

Een Spring Boot-project maken

Om ons Spring Boot-project te maken, gebruiken we Spring Initializr- met de volgende opdrachtregel:

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

Berichten verzenden naar een Service Bus-wachtrij

Nu gaan we enkele berichten verzenden naar een Service Bus-wachtrij.

De maven-afhankelijkheid voor Service Bus Spring Boot Starter toevoegen

Voeg in het pom.xml bestand in uw spring-sender-applicationde volgende opdracht toe onder afhankelijkheden:

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

De configuratieparameters toevoegen

  1. Bewerk het application.properties bestand in de map spring-sender-application\src\main\resources en voeg de volgende parameters toe:

    spring.jms.servicebus.connection-string=<xxxxx>
    spring.jms.servicebus.idle-timeout=20000
    spring.jms.servicebus.pricing-tier=premium
    
  2. Stel de eigenschap spring.jms.servicebus.connection-string in op de verbindingsreeks voor uw Service Bus-naamruimte, die u eerder hebt opgeslagen.

Code toevoegen om berichten te verzenden naar Service Bus

Vervolgens voegen we de bedrijfslogica toe om berichten naar een Service Bus-wachtrij te verzenden.

Maak in de map src/main/java/com/example/demoeen SendController.java-bestand met de volgende inhoud:

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

De toepassing lokaal uitvoeren

  1. Ga terug naar de hoofdmap van de voorbeeldmap spring-sender-application waarin het pom.xml bestand zich bevindt en voer de volgende opdracht uit om de Spring Boot-toepassing te starten. In deze stap wordt ervan uitgegaan dat u mvn op uw Windows-computer hebt geïnstalleerd en dat deze zich in de PATHbevindt.

    mvn spring-boot:run
    
  2. Nadat het opstarten van de toepassing is voltooid, kunt u de volgende koppelingen selecteren om berichten naar de Service Bus-wachtrij te verzenden.

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

    U kunt de tekenreekswaarde in de parameter van de berichtquery wijzigen en tekst naar de Service Bus-wachtrij verzenden.

    In de browser wordt weergegeven wat wordt doorgegeven als de querystringparameter van het bericht, wat betekent dat de Service Bus het bericht accepteert.

De berichten in de Service Bus-wachtrij bekijken

Notitie

Hoewel het weergeven van de berichten helpt de verzendzijde van de berichten te begrijpen, is deze stap optioneel.

Deze berichten worden ontvangen in de volgende stap van deze zelfstudie.

U kunt doorgaan met het weergeven van de berichten in De Service Bus Explorer in Azure Portal:

  1. Ga terug naar het Azure-portaal en selecteer Wachtrijen in het linkermenu onder Entiteiten.

  2. Selecteer de juiste wachtrij. De wachtrij voor deze demo is bijvoorbeeld test-queue-jms.

  3. Selecteer in het linkerdeelvenster Service Bus Explorer.

  4. Selecteer Van beginbekijken. U ziet alle drie de berichten die u hebt verzonden met behulp van HTTP-opdrachten.

    Schermopname van de peek-ervaring in Service Bus Explorer.

  5. Selecteer een bericht om de hoofdtekst van het bericht in het onderste deelvenster weer te geven.

    Schermopname van Service Bus Explorer met gekeken berichten.