Ćwiczenie — wysyłanie komunikatów do usługi Azure Service Bus
W tej lekcji utworzysz aplikację Spring Boot, która wysyła komunikaty do kolejki usługi Azure Service Bus. Wykonaj poniższe kroki lokalnie.
Tworzenie projektu Spring Boot
Aby utworzyć projekt Spring Boot, użyjemy narzędzia Spring Initializr z następującym wierszem polecenia:
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 -
Wysyłanie komunikatów do kolejki usługi Service Bus
Teraz wyślijmy kilka komunikatów do kolejki usługi Service Bus.
Dodawanie zależności narzędzia maven dla szablonu startowego Spring Boot usługi Service Bus
pom.xml
W pliku w pliku dodaj spring-sender-application
następujące polecenie w obszarze zależności:
<!-- 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>
Dodawanie parametrów konfiguracji
W folderze
spring-sender-application\src\main\resources
edytujapplication.properties
plik, dodaj następujące parametry:spring.jms.servicebus.connection-string=<xxxxx> spring.jms.servicebus.idle-timeout=20000 spring.jms.servicebus.pricing-tier=premium
spring.jms.servicebus.connection-string
Ustaw właściwość na parametry połączenia na przestrzeń nazw usługi Service Bus, która została zapisana wcześniej.
Dodawanie kodu do wysyłania komunikatów do usługi Service Bus
Następnie dodamy logikę biznesową do wysyłania komunikatów do kolejki usługi Service Bus.
W katalogu src/main/java/com/example/demo
utwórz SendController.java
plik o następującej zawartości:
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;
}
}
Lokalne uruchamianie aplikacji
Wróć do katalogu głównego folderu przykładowego
spring-sender-application
, w którympom.xml
znajduje się plik, i uruchom następujące polecenie, aby uruchomić aplikację Spring Boot. W tym kroku przyjęto założenie, że zainstalowanomvn
go na komputerze z systemem Windows i znajduje się on w plikuPATH
.mvn spring-boot:run
Po zakończeniu uruchamiania aplikacji możesz wybrać następujące linki, aby wysyłać komunikaty do kolejki usługi Service Bus.
http://localhost:8080/messages?message=Hello
http://localhost:8080/messages?message=HelloAgain
http://localhost:8080/messages?message=HelloOnceAgain
Wartość ciągu można zmienić w parametrze zapytania komunikatu i wysłać dowolny tekst do kolejki usługi Service Bus.
Przeglądarka wyświetla wszystko, co jest przekazywane jako parametr ciągu zapytania komunikatu, co oznacza, że usługa Service Bus akceptuje komunikat.
Wyświetlanie komunikatów w kolejce usługi Service Bus
Uwaga
Chociaż wyświetlanie komunikatów pomaga zrozumieć stronę wysyłania komunikatów, ten krok jest opcjonalny.
Te komunikaty zostaną odebrane w następnym kroku tego samouczka.
Możesz przejść do wyświetlania komunikatów w Eksploratorze usługi Service Bus w witrynie Azure Portal:
W witrynie Azure Portal wybierz pozycję Kolejki w menu po lewej stronie w obszarze Jednostki.
Wybierz odpowiednią kolejkę. Na przykład kolejka dla tego pokazu to test-queue-jms.
W okienku po lewej stronie wybierz pozycję Eksplorator usługi Service Bus.
Wybierz pozycję Zobacz od początku. Powinny zostać wyświetlone wszystkie trzy komunikaty wysyłane przy użyciu poleceń HTTP.
Wybierz komunikat, aby wyświetlić treść komunikatu w dolnym okienku.