Alıştırma - Azure Service Bus'a ileti gönderme
Bu ünitede, Azure Service Bus kuyruğuna ileti gönderen bir Spring Boot uygulaması oluşturacaksınız. Aşağıdaki adımları yerel olarak tamamlayın.
Spring Boot projesi oluşturma
Spring Boot projemizi oluşturmak için Spring Initializr'ı aşağıdaki komut satırıyla kullanırız:
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 -
Service Bus kuyruğuna ileti gönderme
Şimdi bir Service Bus kuyruğuna bazı iletiler gönderelim.
Service Bus Spring Boot Starter için maven bağımlılığını ekleme
pom.xml
dosyanızda spring-sender-application
bağımlılıkların altına aşağıdaki komutu ekleyin:
<!-- 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>
Yapılandırma parametrelerini ekleme
klasörüne
spring-sender-application\src\main\resources
dosyasını düzenleyinapplication.properties
, aşağıdaki parametreleri ekleyin:spring.jms.servicebus.connection-string=<xxxxx> spring.jms.servicebus.idle-timeout=20000 spring.jms.servicebus.pricing-tier=premium
spring.jms.servicebus.connection-string
özelliğini daha önce kaydettiğiniz Service Bus ad alanınıza bağlantı dizesi olarak ayarlayın.
Service Bus'a ileti göndermek için kod ekleme
Ardından, Service Bus kuyruğuna ileti göndermek için iş mantığını ekleyeceğiz.
dizininde src/main/java/com/example/demo
aşağıdaki içeriğe sahip bir SendController.java
dosya oluşturun:
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;
}
}
Uygulamayı yerel olarak çalıştırma
Dosyanın bulunduğu
pom.xml
örnekspring-sender-application
klasörün köküne dönün ve Spring Boot uygulamanızı başlatmak için aşağıdaki komutu çalıştırın. Bu adım, Windows bilgisayarınıza yüklediğinizi ve içindePATH
olduğunu varsayarmvn
.mvn spring-boot:run
Uygulama başlatma işlemi tamamlandıktan sonra, Service Bus kuyruğuna ileti göndermek için aşağıdaki bağlantıları seçebilirsiniz.
http://localhost:8080/messages?message=Hello
http://localhost:8080/messages?message=HelloAgain
http://localhost:8080/messages?message=HelloOnceAgain
İleti sorgusu parametresindeki dize değerini değiştirebilir ve Service Bus kuyruğuna herhangi bir metin gönderebilirsiniz.
Tarayıcı, ileti sorgu dizesi parametresi olarak geçirilen her şeyi görüntüler ve bu da Service Bus'ın iletiyi kabul ettiğini gösterir.
Service Bus kuyruğundaki iletilere bakın
Not
İletileri görüntülemek, iletilerin gönderme tarafını anlamaya yardımcı olsa da, bu adım isteğe bağlıdır.
Bu iletiler bu öğreticinin sonraki adımında alınacaktır.
İletileri Azure portalındaki Service Bus gezgininde görüntülemeye devam edebilirsiniz:
Azure portalına geri dönüp Varlıklar'ın altındaki sol menüden Kuyruklar'ı seçin.
Uygun kuyruğu seçin. Örneğin, bu tanıtımın kuyruğu test-queue-jms şeklindedir.
Sol bölmede Service Bus gezgini'ni seçin.
Baştan göz at'ı seçin. HTTP komutlarını kullanarak gönderdiğiniz üç iletiyi de görmeniz gerekir.
İleti gövdesini alt bölmede görmek için bir ileti seçin.