java - 使用 Camel 对 ActiveMQ 消息队列进行动态节流

标签 java jms activemq apache-camel

我是一个 ActiveMQ/Camel 菜鸟,有一个特定的场景,我首先想知道这是否可能,其次是否有人​​可以提供一些指导。

基本上我需要对队列执行动态限制。即能够在运行时设置从队列中消耗特定消息组的速率。

因此,例如,我可以添加一组以每秒 10 条的速度使用的消息,另一组以每秒 1 条的速度使用,依此类推。

我知道在 Camel 中设置路由和消息分组到队列等的基础知识,但无法从文档中弄清楚这一点。

最佳答案

你可以只使用Camel现有的throttler然后为每种类型的消息使用不同的队列,您需要配置不同的节流速率?

例如

from("activemq:Queue1.Input").
    throttle(20).
    to("activemq:Queue1.Output");  
from("activemq:Queue2.Input").
    throttle(5).
    to("activemq:Queue2.Output");  

关于java - 使用 Camel 对 ActiveMQ 消息队列进行动态节流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/454084/

相关文章:

java - 轻量级 JMS 代理

java - ActiveMQ:无法在 JMX 中注册传输连接器:java.io.IOException:无法识别传输方案:[stomp]

java - 如何从Activemq向消费者推送消息

java - 通过其实例调用接口(interface)或抽象类方法

Java Swing 将 JTextField 值移动到第二个按钮

java - spring-mvc Web 应用程序中的导航错误/无效

java - 消息传递(例如 JMS)何时可以替代多线程?

java - 自动启动 false 不适用于 DefaultMessageListenerContainer

java - ActiveMQ 与 Apache Karaf 2.3.1

java - 对项目数量的索引和值进行排序的最佳方法是什么