我有一个Camel路由消耗来自Hazelcast SEDA队列的消息。如果在处理消息时出现任何错误,我希望减少消耗吞吐量,以避免将大量消息移动到死信队列。我一直在使用http://camel.apache.org/throttler.html调查黑客行为 动态值和断路器:http://camel.apache.org/load-balancer.html但没有成功。
有没有其他方法可以实现这一目标?
答案 0 :(得分:1)
你的另一个Camel Route是否会向这个Seda消费者发送消息?在这种情况下,您可以在该端点上使用Throttler。像这样:
<route>
<from uri="....." />
<throttle maximumRequestsPerPeriod="3" timePeriodMillis="10000">
<to uri="hazelcast:seda:foo" />
</throttle>
</route>
<route>
<from uri="hazelcast:seda:foo" />
<to uri="....." />
</route>
答案 1 :(得分:1)
为了提供这个功能,我结束了构建自己的(和第一个)Camel组件: