Cvičení – odesílání zpráv do služby Azure Service Bus
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-application
souboru 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
spring-sender-application\src\main\resources
Do složky upravteapplication.properties
soubor a přidejte následující parametry:spring.jms.servicebus.connection-string=<xxxxx> spring.jms.servicebus.idle-timeout=20000
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/demo
vytvoř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ě.
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 nainstalovalimvn
a je v systémuPATH
.mvn spring-boot:run
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:
Zpět na webu Azure Portal vyberte Fronty v nabídce vlevo v části Entity.
Vyberte příslušnou frontu. Například fronta pro tuto ukázku je test-queue-jms.
V levém podokně vyberte Service Bus Explorer.
Vyberte Náhled od začátku. Měly by se zobrazit všechny tři zprávy, které jste odeslali pomocí příkazů HTTP.
Výběrem zprávy zobrazíte text zprávy v dolním podokně.