Alıştırma - Azure Service Bus'a ileti gönderme

Tamamlandı

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=2.4.1.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-applicationbağımlılıkların altına aşağıdaki komutu ekleyin:

            <dependency>
                <groupId>com.microsoft.azure</groupId>
                <artifactId>azure-servicebus-jms-spring-boot-starter</artifactId>
                <version>2.3.3</version>
            </dependency>

Yapılandırma parametrelerini ekleme

  1. klasörüne spring-sender-application\src\main\resources dosyasını düzenleyin application.properties , aşağıdaki parametreleri ekleyin:

    spring.jms.servicebus.connection-string=<xxxxx>
    spring.jms.servicebus.idle-timeout=20000
    
  2. 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/demoaş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

  1. Dosyanın bulunduğu pom.xml örnek spring-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çinde PATHolduğunu varsayarmvn.

    mvn spring-boot:run
    
  2. 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:

  1. Azure portalına geri dönüp Varlıklar'ın altındaki sol menüden Kuyruklar'ı seçin.

  2. Uygun kuyruğu seçin. Örneğin, bu tanıtımın kuyruğu test-queue-jms şeklindedir.

  3. Sol bölmede Service Bus gezgini'ni seçin.

  4. Baştan göz at'ı seçin. HTTP komutlarını kullanarak gönderdiğiniz üç iletiyi de görmeniz gerekir.

    Screenshot of the Service Bus explorer peek experience.

  5. İleti gövdesini alt bölmede görmek için bir ileti seçin.

    Screenshot of the Service Bus explorer with peeked messages.