我有一个骆驼路线用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等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top