0

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

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

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

4

2 回答 2

2

Camel 允许您将路由与路由策略相关联。我们有一个开箱即用的策略,它基于骆驼石英并且是基于计划的。这允许您设置路线开放时间的政策。

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

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

于 2013-01-09T10:14:34.033 回答
0
  1. 每个队列/间隔设置一条路线。
  2. 使用在应该开始/停止路线的时间触发的石英计时器。
  3. 您可以让 Quartz 路由使用控制总线模式来启动/停止队列路由。
于 2013-01-09T09:17:51.047 回答