Apache Camel - Dynamically changing throttle values -
can please give sample on how dynamically change maxrequestsperperiod using throttler processor instance or using throttle element in apache camel ? (reference - how change processor properties during runtime using camel?)
we cannot use expression header because if header absent throttler uses old value. need is, in bean based on condition have update throttle value used until next update. in our case, cannot use message header purpose.
how can navigate runtime processors in route , find throttler change dynamically? please sample.
thanks.
thanks claus..we check jmx mbeans in upcoming camel 2.16 release.
now following solution worked camel 2.15.2 :
java dsl:
from("direct:start") .routeid("throttleroute") .throttle(expressionbuilder.beanexpression("throttlebean","getthrottle")) .timeperiodmillis(2000) .to("jms:test.myqueue") .beanref("throttlebean", "receivedata"); spring dsl:
<route id="throttleroute"> <from uri="direct:start" /> <throttle timeperiodmillis="2000"> <method ref="throttlebean" method="getthrottle" /> <to uri="jms:test.myqueue" /> </throttle> <to uri="bean:throttlebean?method=receivedata" /> </route> here throttlebean.getthrottle() method having logic generate , return required throttle value dynamically.
Comments
Post a Comment