تمرين - أرسل رسائل إلى Service Bus

مكتمل

في هذه الوحدة، يمكنك إنشاء تطبيق Spring Boot يرسل رسائل إلى قائمة انتظار ناقل خدمة Azure. أكمل الخطوات التالية محليا.

إنشاء مشروع Spring Boot

لإنشاء مشروع Spring Boot، نستخدم Spring Initializr مع سطر الأوامر التالي:

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

الآن، دعنا نرسل بعض الرسائل إلى قائمة انتظار Service Bus.

أضف تبعية maven لـ Service Bus Spring Boot Starter

في الملف pom.xml في spring-sender-application الخاص بك، أضف الأمر التالي ضمن التبعيات:

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

إضافة معلمات التكوين

  1. في spring-sender-application\src\main\resources المجلد، قم بتحرير application.properties الملف، وأضف المعلمات التالية:

    spring.jms.servicebus.connection-string=<xxxxx>
    spring.jms.servicebus.idle-timeout=20000
    
  2. قم بتعيين الخاصية spring.jms.servicebus.connection-string إلى سلسلة الاتصال إلى مساحة اسم ناقل خدمة Microsoft Azure، التي قمت بحفظها مسبقا.

إضافة تعليمات برمجية لإرسال رسائل إلى Service Bus

بعد ذلك، نضيف منطق العمل لإرسال رسائل إلى قائمة انتظار ناقل خدمة Microsoft Azure.

في الدليل src/main/java/com/example/demo، قم بإنشاء ملف 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;
    }
}

تشغيل تطبيق ويب محليًا

  1. قم بالتبديل مرة أخرى إلى جذر مجلد العينة spring-sender-application حيث pom.xml يوجد الملف، وقم بتشغيل الأمر التالي لبدء تشغيل تطبيق Spring Boot. تفترض هذه الخطوة أنك قمت mvn بتثبيته على كمبيوتر Windows الخاص بك، وأنه في PATH.

    mvn spring-boot:run
    
  2. بعد اكتمال بدء تشغيل التطبيق، يمكنك تحديد الروابط التالية لإرسال رسائل إلى قائمة انتظار Service Bus.

    http://localhost:8080/messages?message=Hello
    
    http://localhost:8080/messages?message=HelloAgain
    
    http://localhost:8080/messages?message=HelloOnceAgain
    

    يمكنك تغيير قيمة السلسلة في معلمة استعلام الرسالة وإرسال أي نص إلى قائمة انتظار Service Bus.

    يعرض المستعرض كل ما تم تمريره كمعلمة سلسلة استعلام الرسالة، مما يعني أن ناقل خدمة Microsoft Azure يقبل الرسالة.

انظر الرسائل في قائمة انتظار Service Bus

إشعار

رغم أن عرض الرسائل يساعد في فهم جانب الإرسال من الرسائل، إلا إن هذه الخطوة اختيارية.

سيتم استلام هذه الرسائل في الخطوة التالية من هذا البرنامج التعليمي.

يمكنك المتابعة لعرض الرسائل في مستكشف ناقل الخدمة في مدخل Azure:

  1. مرة أخرى في مدخل Microsoft Azure، حدد Queues في القائمة اليسرى ضمن Entities.

  2. حدد قائمة الانتظار المناسبة. على سبيل المثال، قائمة الانتظار لهذا العرض التوضيحي هي test-queue-jms.

  3. في الجزء الأيمن، حدد مستكشف Service Bus.

  4. حدد نظرة خاطفة من البداية. يجب أن تشاهد جميع الرسائل الثلاث التي أرسلتها باستخدام أوامر HTTP.

    Screenshot of the Service Bus explorer peek experience.

  5. حدد رسالة لرؤية نص الرسالة في الجزء السفلي.

    Screenshot of the Service Bus explorer with peeked messages.