البرامج الوسيطة للرسالة هي مساعدة كبيرة لتفكك وإزالة الذروة بين أنظمتنا. يدمج Spring Boot أيضًا محتويات هذا الجزء ، وأسهل شيء للدمج هو RabbitMQ. اليوم سوف نستخدم rabbitmq كمثال.
القواعد القديمة ، دعونا نلقي نظرة على POM أولاً
<Rependency> <roupeD> org.springframework.boot </rougiD> <insifactid> Spring-Boot-Starter </stifactid> </sependency> <sependency> <roupid> org.springframework.boo </groupid> <roughid> org.springframework.boot </groupId> <StifactId> Spring-boot-starter-AMQP </stifactid> </sependency> <sependency> <roupiD> org.projectlombok </rougiD>
AMQP ، أو بروتوكول قائمة انتظار الرسائل المتقدمة ، وهو بروتوكول قائمة انتظار الرسائل المتقدمة القياسية على مستوى التطبيق يوفر خدمات مراسلة موحدة ، هو معيار مفتوح لبروتوكول مستوى التطبيق ومصمم للبرامج الوسيطة الموجهة للرسائل. يمكن للعملاء والوسيطة الوسيطة للرسائل استنادًا إلى هذا البروتوكول تمرير الرسائل ، ولا يقتصرون على منتجات مختلفة ولغات تطوير العملاء/الوسيطة. Spring-Boot-Starter-AMQP يقدم RabbitMQ. هناك شرط أساسي: قم أولاً بتثبيت خادم RabbitMQ على جهازك ، ثم قم بتنفيذ خادم RabbitMQ-Server وابدأه. بعد البدء ، يمكننا تكوين برنامج عميلنا. انظر أولاً إلى ملف التكوين الخاص بنا
spring.application.name: spiRng-boot-rabbitmqspring.ribbitmq.host: 127.0.0.1Spring.RabbitMq
يتم تكوين IP الخاص بالخادم ومنفذه واسم المستخدم وكلمة المرور والمعلومات الأساسية الأخرى للتأكد من أنه يمكننا الاتصال بالخادم.
أضف فئة تكوين RabbitMQ
package com.shuqi ؛ استيراد org.springframework.amqp.core.queue ؛ استيراد org.springframework.context.annotation.bean ؛ استيراد org.springframework.context.annotation.configuration ؛ configurationpublic class quitue }}
يتم إنشاء قائمة انتظار مسماة Hello ، ويمكن للمنتج وضع البيانات في قائمة انتظار Hello ، ويمكن للمستهلك استهلاك البيانات من قائمة انتظار Hello. تحقق من معالج المنتج
package com.shuqi.controller ؛ استيراد org.springframework.amqp.core.amqptemplate ؛ استيراد org.springframework.beans.factory.antation.autowired ؛ استيراد org.springframework.web.bind.annotation.requestmapping ؛ org.springframework.web.bind.annotation.requestparam ؛ استيراد org.springframework.web.bind.annotation.restController ؛ restControllerPublic class hellocontroller requestmapping ("/hello") السلسلة العامة Hello (اسم سلسلة requestparam) {rabbittemplate.convertandsend ("Hello" ، "Hello"+name) ؛ إرجاع "رسالة أرسلت بنجاح" ؛ }}إنتاج الرسائل من خلال وحدة التحكم وإرسال الرسائل من خلال amqptemplate. مع المنتجين ، دعونا نلقي نظرة على المستهلكين
package com.shuqi.consumer ؛ استيراد lombok.extern.slf4j.slf4j ؛ استيراد org.springframework.amqp.rabbit.annotation.Rabbithandler org.springframework.stereotype.component ؛@component@rabbitlistener (queues = "hello")@slf4jpublic class helloconsumer {rabbithandler public process (string hello) {log.info ("message message: {}" ، hello) ؛ }}rabbitListener (queues = "hello") تعني أنه مستمع RabbitMQ. اسم قائمة الانتظار للمستمع هو Hello ، مما يعني أن البيانات ستأتي بالتأكيد. عندما تأتي البيانات ، ستتم معالجة البيانات من خلال طريقة تعديل rabbithandler. طباعته. لنبدأ المشروع ونرى النتائج.
أدخل http: // localhost: 8080/hello name = shuqi في متصفحك لمشاهدة النتائج التالية
تحقق من إخراج السجلات من وحدة التحكم
2018-03-25 16: 24: 32.752 info 4987 ---
هذا يعني أنه تم استلام الرسالة ومعالجتها من قبل المستهلك. يمكنك اللعب معها.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.