سؤال

لدي صعوبات في لف رأسي حول هذا المفهوم.

أحاول تنفيذ نقطة نهاية تستمع إلى منفذ TCP للرسائل الواردة بتنسيق خاص ، والتي من شأنها أن تحول الرسالة بعد ذلك ويتولى الإبل في إعادة التوجيه والتوجيه.

هل فهمت بشكل صحيح أن المنتج مسؤول عن إرسال الرسائل إلى Endpoint و ال Consumer يستقبلهم من نقطة النهاية؟

عند دراسة الواجهات ، لم أستطع معرفة تدفق الرسالة بين تلك الكائنات ، وخاصة في جزء المستهلك. Consumer يحدد فقط start() و stop() أساليب...

عند إعداد اختبار على تنفيذ هيكل عظمي ، Camel استدعى createProducer() في نقطة النهاية و process() على كائن المنتج. بعد ذلك عاد ، سويثوت تفعل أي شيء مع المستهلك أو المعالج المرتبط به.

يمكن أن تشير لي أحدهم في الاتجاه الصحيح؟

هل كانت مفيدة؟

المحلول 2

لقد اكتشفت ذلك أخيرًا من خلال النظر إلى مكون الدفق.

اتضح أنني ارتكبت خطأ التفكير في نقطة النهاية كشيء أساسي من خلال كل شيء يجب أن يذهب.

الإجابة البسيطة هي أن المستهلك يتلقى بيانات من نظام خارجي (الاستماع على مقبس الخادم في حالتي) ويرسل المنتج البيانات إلى النظام الخارجي.

نظرًا لأن نقطة النهاية الخاصة بي هي للقراءة فقط (لن يتم استخدامها كوجهة نهائية لعملية توجيه الإبل) ، فأنا لا أحتاج حقًا إلى منتج (يجب أن يلقي RundimeException إذا كان النظام لا يزال يحاول القيام بذلك بسبب سوء التكوين). مثال مناسب هو نقطة النهاية على الجمل - يمكنك قراءة الخلاصات ولكن (اعتبارًا من 1.6.0) لا يمكنك نشر واحدة.

وبالمثل ، تحتاج فقط إلى منتج لنقطة نهاية للكتابة فقط لا تتلقى بيانات من نظام خارجي (مثل التسجيل).

نصائح أخرى

من المهم أن تتذكر أن Endpoint, ، التي أنشأتها أ Component (أي مصنع نقطة النهاية) ، يمكن أن يجلس في أيضاً نهاية الجمل Route. إذا وضعت عنصر في بداية الطريق ، يجب أن يكون هناك تطبيق Consumer جزء من عنصر. هذا يفعل عمل تحويل الإدخال/الطلب المحدد (مثل طلب HTTP) إلى شيء عام - جمل Exchange - يمكن أن تسافر لأسفل طريق. بينما إذا وضعت عنصر في نهاية أ طريق ثم يجب أن يكون لديك تنفيذ أ Producer. ال منتج هل عمل أخذ تبادل من نهاية أ طريق وتحويله إلى شيء محدد (مثل رسالة JMS).

أجد أن وثائق Fuse ESB أفضل (بشكل عام) من موقع Apache Camel. من فتيل صفحة مكون ESB:

نقاط نهاية المستهلك تستهلك الطلبات. تظهر دائمًا في بداية المسار وتغلف الرمز المسؤول عن تلقي الطلبات الواردة وإرسال الردود الصادرة.

نقاط نهاية المنتج تقديم طلبات. يظهرون دائمًا في نهاية المسار ويغلفون الكود المسؤول عن إرسال الطلبات الصادرة وتلقي الردود الواردة.


enter image description here

يقوم المنتج بتوسيع المعالج مما يعني أنه يحتوي على طريقة عملية أيضًا.

تحقق من الفصل 1 المجاني في كتاب الإبل في العمل الذي يخبر قليلاً عن مفاهيم الجمل هذه.http://www.manning.com/ibsen/

وهذا البرنامج التعليمي ممتاز أيضًا لأنه يقدم تلك المفاهيم بوتيرة ثابتةhttp://camel.apache.org/tutorial-example-reportincident.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top