Java RabbitMQ کا کام موڈ ہے کہ ایک ہی قیو میں متعدد consumers کو تشکیل دینا تاکہ پیغامات کو متواتر عمل پذیری کی رفتار میں بہتری حاصل ہوسکے۔ معماری مندرجہ ذیل ڈائیگرام میں ہے۔
نوٹ: رابٹ ایم کیو میں کوئی بھی ورک موڈ استعمال ہو، ہر قیو متعدد consumers کو معاونت فراہم کرتی ہے۔ ایک ہی قیو کے لیے، ایک پیغام صرف ایک consumers کے ذریعے پروسیس ہوگا۔
1. ابتدائی ہدایت نامہ
براہ کرم مندرجہ ذیل سیکشنز پڑھیں تاکہ متعلقہ علم سمجھ میں آسکے۔
- RabbitMQ بنیادی تصورات
- RabbitMQ Work Mode
- RabbitMQ کے لیے جاوا کا تیز آغاز (مندرور ہے، کیونکہ مابقی سیکشنز میں کوڈ دہرایا نہیں جائے گا بلکہ صرف اہم کوڈ دکھایا جائے گا)
2. متعدد کنسیومرز کی تشکیل
RabbitListener اینوٹیشن کا استعمال کرکے اور کنسرنسی پیرامیٹر کو تشکیل دیتے ہوئے، آپ نیچے دیئے گئے کوڈ کے ذریعے 10 کنسیومرز کو بروقت پیغامات کی متواتر عمل پذیری کے لیے شروع کرسکتے ہیں۔
package com.tizi365.rabbitmq.listener;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
@Component
// میسج سننے والے کا اعلان کریں اور queues پیرامیٹر کے ذریعے سننے کے لیے قیو کا انتخاب کریں
// مقامی پیرامیٹر: concurrency فی الحال لسنر کے لیے معین کرتا ہے کے کتنے کنسیومرز کو شروع کیا جاۓ
@RabbitListener(queues = "hello", concurrency = "10")
public class HelloListener {
// میسج ہینڈلر کو نشان زد کرنے کے لیے RabbitHandler کا استعمال کیجیے، جو میسج فراہم کرنے والے منطق کو بڑھانے کے لئے استعمال ہوگا
@RabbitHandler
public void receive(String msg) {
System.out.println("Consumer - Received message '" + msg + "'");
}
}