题
我有一个骆驼路线用Java编写的DSL这样定义:
from(myEndpoint)
.throttle(200)
.to(myOtherEndpoint);
此使用这限制了消息流至每秒200个消息的节流连接我的两个端点。
我正在寻找一种方式运行期间改变maximumRequestCount /秒。 所以,我需要以某种方式获得的节流器的实例被称为并更改属性。
我如何访问节流?
解决方案
好吧,我想通了我自己......
您需要自己定义调节器的实例。
Throttler throttler = new Throttler(null, 200);
然后你就可以在你的路由这样使用它,因为调节器实现了处理器接口:
from(myEndpoint)
.process(throttler)
.to(myOtherEndpoint);
任何时间你喜欢你可以改变调节器的性能。
其他提示
呀是纯溶液。
在骆驼2.0你现在可以在导航的路线运行时的处理器,因此找到任何Throttlers然后能够动态地改变它。
但是,我们也致力于改善JMX骆驼2.1,所以你可以改变节流/延迟和喜欢从JMX。
也许还提高了导航API,因此您可以在一个班轮发现,例如通过可能ID查找,如果你提供的路线的ID。或类型,以便您可以过滤和只得到Throttlers等。
不隶属于 StackOverflow