أداة لنشر رسائل الاختبار في قائمة انتظار JMS؟[مغلق]

StackOverflow https://stackoverflow.com/questions/37969

  •  09-06-2019
  •  | 
  •  

سؤال

هل يمكن لأي شخص أن يوصي بأداة لنشر رسائل الاختبار بسرعة في قائمة انتظار JMS؟هل يجب أن تسمح الأداة للمستخدم بإدخال بعض البيانات، ربما حمولة XML، ثم إرسالها إلى قائمة الانتظار؟أعلم أنه من المحتمل أن أتمكن من إحداث شيء ما بسرعة معقولة للقيام بذلك، لكنني اعتقدت أنني سأسأل أولاً قبل إعادة اختراع العجلة.هتافات.

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

المحلول

لا تنطبق هذه الإجابة على جميع وسطاء JMS، ولكن إذا كنت تستخدم أباتشي ActiveMQ, ، وحدة تحكم المشرف المستندة إلى الويب (افتراضيًا في http://localhost:8161/admin) يسمح لك بإرسال رسائل نصية يدويًا إلى المواضيع أو قوائم الانتظار.إنه مفيد لتصحيح الأخطاء.

نصائح أخرى

هيرميسJMS يبدو أنه عميل قوي إلى حد ما للتفاعل مع موفري خدمات JMS.في رأيي، إنه أمر غير بديهي إلى حد ما ويصعب إعداده.(على الأقل أنا أفشل في ذلك في الغالب ...)

غالبًا ما يكون العملاء الآخرون الأكثر سهولة في الاستخدام خاصين بالبائعين. مدير الرسائل سونيك هو عميل JMS مفتوح المصدر لطيف للغاية وسهل الاستخدام سونيكMQ.سيكون من الرائع أن يكون لديك عميل مثل هذا يعمل مع مقدمي خدمات مختلفين.

تعاني وحدة تحكم المشرف المستندة إلى الويب الخاصة بـ ActiveMQ من نقص كبير - لا يمكن تحديد أي رؤوس/خصائص مخصصة عند نشر رسالة.

لقد عثرت على أداة البرمجيات الحرة والمفتوحة المصدر (FOSS) الأنيقة التي يمكنها نشر رسالة وتحديد الرؤوس/الخصائص أيضًا:

http://sourceforge.net/projects/activemqbrowser/

هث

أباتشي جي ميتر هي أداة (مكتوبة لمنصة Java) تسمح بما يلي:

  • إرسال الرسائل إلى قائمة الانتظار (نقطة إلى نقطة)

  • النشر/الاشتراك في موضوع ما

  • إرسال رسائل مستمرة وغير مستمرة

  • إرسال الرسائل النصية والخريطة والكائنات

يتضمن Apache ActiveMQ مصادر أمثلة ProducerTool وConsumerTool (Java) مع العديد من خيارات تكوين سطر الأوامر.نظرًا لأنه يعتمد على JMS API، فإن استخدامه مع وسطاء الرسائل الآخرين يجب أن يكون سهلاً مع تعديلات طفيفة.

أوصي بنهج @Will واستخدام وحدة تحكم الويب الخاصة بـ ActiveMQ والذي يتيح لك نشر الرسائل وتصفح قوائم الانتظار أو حذف الرسائل بسهولة.

هناك طريقة أخرى أستخدمها غالبًا وهي استخدام دليل الملفات كعينة بيانات واستخدام مسار Camel لنقل الرسائل من الدليل إلى قائمة انتظار JMS - أو أخذها من قائمة الانتظار وحفظها على القرص وما إلى ذلك

على سبيل المثال

from("file://someDirectory").
  to("activemq:MyQueue");

سيؤدي هذا إلى نقل كافة الملفات من someDirectory وإرسالها إلى قائمة انتظار ActiveMQ تسمى MyQueue.إذا كنت تفضل ترك الملفات في مكانها، يمكنك استخدام URI "file://someDirectory?noop=true".

لمزيد من التفاصيل انظر

توفر IBM خدمة مجانية وقوية أداة سطر الأوامر تسمى perfharness.

على الرغم من أنه يهدف إلى قياس موفري خدمات JMS، إلا أنه جيد حقًا في إنشاء (واستهلاك) رسائل الاختبار.يمكنك استخدام البيانات التي تم إنشاؤها بشكل عشوائي أو مأخوذة من ملف.

تتضمن ميزات الطاقة إرسال الرسائل واستهلاكها بمعدل ثابت، باستخدام عدد محدد من سلاسل الرسائل، باستخدام إما JMS أو MQ الأصلي، وما إلى ذلك.يقوم بإنشاء إحصائيات تخبرك بالضبط بمدى سرعة أداء قائمة الانتظار الخاصة بك (ومن هنا الاسم).

الجانب السلبي الوحيد هو أنها ليست بديهية للغاية، نظرا لعدد العمليات التي تدعمها.

وأيضًا إذا كان وسيط JMS يدعم JMX مثل ActiveMQ، فيمكنك استخدام JConsole لنشر الرسائل والقيام بالكثير.

يحتوي ActiveMQ على وحدة تحكم ويب لإرسال رسائل اختبار (كما هو مذكور أعلاه)، ولكن إذا لم يكن لدى مزود الخدمة الخاص بك هذه الوحدة، فقد يكون من الأسهل كتابة تطبيق/صفحة ويب لوحدة التحكم لنشر رسائل اختبار.إن إرسال رسالة في JMS ليس بالأمر الصعب للغاية، فقد تحصل على أقصى استفادة بمجرد كتابة عميل الاختبار الخاص بك.

إذا كنت تستطيع استخدام ربيع في Java، يحتوي على بعض الأدوات المساعدة القوية حقًا، راجع JmsTemplate.

أنا لست على علم بعميل بسيط.أتذكر أنني كنت أبحث عن واحد منذ فترة طويلة عندما بحثت في أنظمة انتظار مختلفة وجربت JMS، ولم أتمكن من العثور على واحد في ذلك الوقت، ولم أتمكن من العثور عليه الآن.هناك شيء واحد - هناك الكثير من البرامج التعليمية التي تساعدك على البدء ويمكنك عمل نموذج بسيط لتحقيق ذلك.

آسف أن لا يكون أكثر فائدة.

لقد قمت ببناء أداة واجهة المستخدم الرسومية لإدارة خوادم JMS مفتوحة المصدر (حاليًا Activemq وHornetq).يمكنه إرسال واستقبال الرسائل ومعظم الأشياء المعتادة، بالإضافة إلى قوائم الانتظار المجمعة والموضوعات في "مجموعات" منطقية.

إنه منتج تجاري ولكن الإصدار التجريبي مجاني ويعمل بكامل طاقته.

جربه في http://www.rockeyesoftware.com/

بالنسبة لـ ActiveMQ، يحتوي دليل الأمثلة على البرامج النصية.بالنسبة إلى Rubyists، انظر إلى example/ruby/stompcat.rb وcatstomp.rb للاشتراك والنشر.

أنا مطور برازيلي وقمت بإنشاء برنامج Java لرسائل Post HTTP وJMS وهو متاح للتنزيل على: https://sites.google.com/site/felipeglino/softwares/posttool

في تلك الصفحة يمكنك العثور على تعليمات باللغة الإنجليزية.

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