استخدام عقدة RBE :
في هذا المثال، سيتم إضافة عقدة (report by exception -RBE) و التي تقوم بتمرير البيانات فقط اذا طرأ عليها تغيير . يمكنك تعيينها لفحص حمولة الرسالة (massage payload) و إما عن طريق تجاهلها حتى يطرأ أي تغيير على الرسالة (في حالة RBE ) أو عندما تتغير الرسالة بنسبة معينة (في حالة deadband ) .
في حالة استخدامRBE ، تعمل على الأرقام و الجمل . وفي حالة استخدام deadband فهي تعمل على أرقام فقط و يستخدم في إعداد الـ deadband نطاق + أو – ، بحث تكون القيمة الواردة يمكن أن تتقلب داخل نطاق معين قبل أن تنطلق .
سنقوم بإضافة عقدة تغيير (change node ) والتي سيتم توصيلها على مخرج 1 لعقدة التبديل (switch node) . ثم سنقوم بتوصيل عقدة rbe إلى عقدة التغيير كما هو موضح بالصورة أدناه . تذكر بأن الناتج يتوافق مع “analyze “ ، وقد تم إضافة عقدة تعليق (comment node) و كتب عليها “analyze=true” ، لأنها مفيدة عند عمل تدفقات معقدة .
قم بفتح محرر عقدة التغيير (change node) لتعيين msg.payload إلى msg.payload.value . وهكذا يحدد المخرج من هذه العقدة إلى القيمة الموجودة في العنصر msg.payload.value من المدخلات الواردة كما في الشكل أدناه .
سنقوم بتوجية الرسالة إذا تم تغيير القيمة بنسبة 20% أو أكثر من ذلك ، فسوف تحتاج إلى النقر نقرا مزدوجا فوق عقدة RBE و لتجاهل الرسالة مالم تتغير القيمة بأكثر من 20 % .
لإختبار التدفق، قم بنشر deploy هذا التدفق ومن ثم العودة إلى صفحة HiveMQ و إرسال سلسلة من الرسائل. أولا ، سوف تحتاج إلى عيين قيمة analayze إلى true و بالتالي تقوم عقدة التبديل بإرسال الرسالة عبر المخرج الأول. إذا كنت تستخدم الرسالة التي تم تعينها سابقة فإن القيمة (value) من 6 ، ستفشل في عبور عقدة RBE . ثم قم بإرسال رسالة ثانية من قيمة 10 ، فإن العقدة RBE تقييم الفرق ما بين 6 و 10 ، ويرها اكبر من 20 % ، فيقوم بإرسال رسالة إلى عقدة debug النهائية والتي ستطبع على لوحة الإخراج debug كما هو موضح بالصورة التالية :