监听ActiveMQ队列上的所有JMS使用者的节流消耗率

时间:2016-05-26 13:19:51

标签: apache-camel activemq

使用Camel Throttler组件,您可以定义每个时间段消耗的消息速率的上限,例如:

math.h

我认为非理想的是Camel Throttler在被Throttler阻止的情况下将交换保留在内存中。因此,如果你有100个队列消费者,并且由于任何原因“direct-vm:bla”很慢(例如调用外部慢速服务),你可能在内存中最多有100个交换机!

我想知道是否有ActiveMQ功能来强制要求ActiveMQ级别的限制。甚至可能在每个队列级别上。类似于HornetQ的消费者最大率。

1 个答案:

答案 0 :(得分:1)

将使用者配置为使用事务(不必是XA事务。如果您只有一个其他端点使用本地JMS事务。请参阅:LLR事务方法)。如果Camel路由失败,则消息将回滚到代理。