首页 > 解决方案 > 如何找到 cron 的 ActiveMQ 调度时间

问题描述

我们正在使用 ActiveMQ 计划消息功能来触发事件并按时处理。如果 cron 安排在每天 00:00:00,则该事件的 brokerInTime 类似于 00:01:00。这不是准确的时间。根据 cron 的数量和发布的消息数量以及使用的底层框,我知道 brokerInTime/brokerOutTime 会有延迟。

我们有一个要求,在处理这些消息时,我们需要确切的调度时间(上例中的 2 月 21 日 00:00:00),而不是它实际被代理接收或分派的时间。

activeMQ/JMS 是否有任何属性可以让我们安排应该触发 cron 的时间?

谢谢。

标签: cronjmsactivemqquartz-scheduler

解决方案


没有代理可以应用的属性,OpenWire 协议仅定义了 BrokerInTime 值,该值将反映消息到达队列的时间。调度程序尽最大努力处理调度的消息,但不被视为实时事件源。JMS 1.1 根本没有计划消息的概念,JMS 2.0 API 也没有为这种低级细节定义特定字段。


推荐阅读