java - 基于时间间隔的节流

标签 java activemq apache-camel

我在 ActiveMQ 中有 4 个队列,每个队列中的消息应该发送到外部服务,以便从我使用 Apache Camel 的队列中获取消息,并且我正在限制消息。
但我的问题是,对于不同的队列,我有不同的社交时间。例如
队列 1 消息只能在上午 6 点到下午 5 点之间发送,
队列 2 消息只能在上午 10 点到晚上 10 点之间发送。

所以我想知道如何使用 Apache Camel 节流来处理这个问题。或者请建议我一些解决方案。

如果有人没有解决我的问题,请告诉我。提前致谢。

最佳答案

Camel 允许您将路由与路由策略相关联。我们有一个基于 Camel quartz 并按计划进行的开箱即用的政策。这允许您设置路线的开放时间政策。

文档从这里开始:http://camel.apache.org/routepolicy 。并且有从该页面到基于调度程序的策略的链接。

注意有一张票 - http://issues.apache.org/jira/browse/CAMEL-5929 - 关于如果您重新启动应用程序服务器,那么如果您在开放时间内启动,则路线不会启动。例如,您的时间为中午 12 点至下午 6 点。然后您在下午 3 点(例如在其间)重新启动应用程序。然后就是我第二天开始的路线。该票证允许您配置为在打开窗口内启动时强制启动。

关于java - 基于时间间隔的节流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14228786/

相关文章:

java - 为多语言项目配置 Maven 源目录

java - 在不同的 JDK 上运行的 ActiveMQ 代理和客户端有什么问题吗?

java - activemq 通配符消费者如何工作?

java - 聚合计划

java - 如何从字符串 html 添加样式以在 android textview 中显示?

java - org/apache/commons/math3/linear/MatrixUtils 中的 JNIEnv->getMethodID for createRealMatrix(double [][] data)

java - 从 JMS 代码 ActiveMQ 将同一消息发布到多个队列

java - 在 Quarkus-Camel 中的任何其他类之前调用​​一个类

java - 如何避免 Spring Boot 加载 EmbeddedWebApplicationContext?

JavaFX Listview 观察 map