RabbitMQ هو تطبيق AMQP شائع الاستخدام. هذه المقالة هي برنامج تعليمي بسيط حول دمج RabbitMQ مع Boot Spring.
تثبيت خادم ActiveMQ (لا يمكنك أيضًا تثبيته. إذا لم يتم تثبيته ، فستستخدم الذاكرة MQ)
بناء مشروع التمهيد الربيع وإضافة تبعيات. فقط أضف هذا العنصر
<!-إضافة التبعية ActivemQ-> <reperency> <roupiD> org.springframework.boot </rougiD> <intifactid> Spring-boot-starter-activemq </stifactid> </redency>
إضافة فئة التطبيق
@springbootapplication@enblesCheduling // إرسال رسائل باستخدام Time Task Class MQTESTAPPlication {public static void main (string [] args) {SpringApplication.run (mqtestapplication.class ، args) ؛ }} تكوين application.yml
الربيع: ActiveMq: Broker-url: TCP: //127.0.01: 61616 الحزم: Trust-All: True
لإنشاء نموذج بيانات ، فإن أنواع البيانات التي يمكن إرسالها واستهلاكها هي: سلسلة ، صفيف البايت ، الخريطة <string ،؟> ، كائن قابل للتسلسل.
// إذا كانت الرسالة المرسلة كائنًا ، فيجب أن تنفذ واجهة قابلة للتسلسل ، فئة TModel ، تتسلل إلى تسلسل {Private Static Final Long SerialVersionuid = -921008687184331557L ؛ عدد int الخاص tmodel العامة (int count) {this.count = count ؛ } Override public string toString () {return "tmodel [count =" + count + "]" ؛ }} بناء منتج
منتج فئة componentpublic {// jmstemplate في المنتج ، يمكننا إرسال الرسائل من خلال هذا القالب jmstemplate jmstemplate النهائي الخاص ؛ العد الخاص بالبيئة = 0 ؛ @Autowired Publicer (jmstemplate jmstemplate) {this.jmstemplate = jmstemplate ؛ } // هنا نستخدم مهمة SPRING BOOT الموقوت لإرسال رسائل @scheduled (ثابت = 1000) باطل عام CREATE () {// استخدم convertandsend لإرسال الرسائل jMstemplate.convertandsend ("queue1" ، tmodel new (count ++)) ؛ }} بناء المستهلك
ComponentPublic Class Classe {jmslistener (destination = "queue1") public void comsume (tmodel content) {system.out.println ("DRIGER Message from Queue1 [" + content + "]") ؛ }}ملاحظة خاصة: إذا كان المنتجون والمستهلكون لدينا في وحدات مختلفة ، فمن الأفضل تجريد البيانات التي سيتم استهلاكها في وحدة عامة. يسلسل البرنامج وتجاهل الأشياء من خلال التسلسل. من الضروري التأكد من أن التسلسل المسلسل لنموذج كائن المنتج والمستهلك ثابت.
عنوان المشروع: https://github.com/ldwqh0/active-mq-spring.git
مثال: تكوين RabbitMQ وأضف قائمة انتظار
@configurationpublic class queue {beanpublic queue queue () {return new Queue ("good") ؛}}تحديد منتج.
عند تمكين ActiveMQ ، سيتم إنشاء amqptemplate تلقائيًا ، والتي يمكن حقنها في أي مكان تحتاجه. يمكننا إرسال رسائل إلى MQ من خلال Amqptemplate هذا
/*** حدد منتجًا*Author Lidong*/@restController@requestMapping ("/test") الفئة العامة sendController {AutOwiredPrivate AmqPtemplate template ؛@getMappublic testSend () حدد المستهلك ، حدد قائمة انتظار الاستهلاك من خلال تحديد RabbitListener (Queues = 'Good')
componentpublic class classe {/*** حدد المستهلك*رسالة param*/ @rabbitlistener (queues = "good") معالج الفراغ العام (رسالة سلسلة) {system.out.println ("تكرار رسالة" + رسالة) ؛}}}ابدأ الاختبار وأدخل http: // localhost: 8080/اختبار في المتصفح لإرسال رسالة إلى قائمة الانتظار. يمكن معالجة هذا الزوج من الأعمدة بواسطة المستهلك
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.