كيفية تغيير خصائص المعالج أثناء وقت التشغيل باستخدام Camel؟

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

  •  16-09-2019
  •  | 
  •  

سؤال

انا املك جمل تعريف الطريق مكتوب في Java DSL مثل هذا:

from(myEndpoint) 
.throttle(200)
.to(myOtherEndpoint);

هذا يربط نقاط النهاية الخاصة بي باستخدام خنق يحد من تدفق الرسائل إلى 200 رسالة في الثانية.

أنا أبحث عن وسيلة لتغيير missightquestcount / ثانية أثناء وقت التشغيل. لذلك أنا بحاجة إلى الوصول إلى حالة خنق بطريقة ما التي تسمى وتغيير العقار.

كيف يمكنني الوصول إلى كراخن؟

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

المحلول

حسنا، احسبها بنفسي ...

تحتاج إلى تحديد مثيل خنقك بنفسك.

Throttler throttler = new Throttler(null, 200);

ثم يمكنك استخدامه في طرقك مثل هذا، لأن خنق ينفذ واجهة المعالج:

from(myEndpoint) 
.process(throttler)
.to(myOtherEndpoint);

في أي وقت تريد أن تقوم بتغيير خصائص الخشن.

نصائح أخرى

نعم هذا هو الحل أنيق.

في CAMEL 2.0 يمكنك الآن التنقل في معالجات وقت التشغيل في الطريق، وبالتالي ابحث عن أي خنق ثم تكون قادرة على تغييره بشكل حيوي.

لكننا نعمل أيضا على تحسين JMX في Camel 2.1 حتى تتمكن من تغيير الخنق / التأخير والأمثال من JMX.

وربما يحسن أيضا API التنقل حتى تتمكن من العثور على بطانة واحدة، على سبيل المثال، ربما البحث عن طريق معرف إذا قمت بتوفير معرف في الطريق. أو عن طريق الأنواع حتى تتمكن من تصفية ويحصل فقط على حشوهم وما إلى ذلك.

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