Gyakorlat – Üzenetek küldése az Azure Service Busba
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-application
adja 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
spring-sender-application\src\main\resources
A mappában szerkessze aapplication.properties
fájlt, és adja hozzá a következő paramétereket:spring.jms.servicebus.connection-string=<xxxxx> spring.jms.servicebus.idle-timeout=20000
Á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/demo
hozzon 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
Váltson vissza annak a mintamappának
spring-sender-application
a gyökerére, amelyben apom.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 aPATH
.mvn spring-boot:run
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:
Az Azure Portalon válassza a Bal oldali menü Üzenetsorok elemét az Entitások csoportban.
Válassza ki a megfelelő üzenetsort. A bemutató üzenetsora például a test-queue-jms.
A bal oldali panelen válassza a Service Bus Explorert.
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.
Jelöljön ki egy üzenetet az üzenet törzsének megtekintéséhez az alsó panelen.