0

我一直收到来自 Queue1 的所有 JMS 消息并尝试处理它。
如果我尝试处理 5 次并回滚 5 次,我希望 ActiveMQ 将消息放入不同的队列一段时间(例如 5 分钟)。
我怎样才能做到这一点?

4

1 回答 1

1

您可以向消息添加自定义属性 - 例如 RESUBMIT_TIMES,并将其递增直到达到 5。阅读:JMS

如果达到 5 ,则将其移至5minutesqueue,方法是在那里设置另一个具有当前时间戳的属性。例如:

  message.setStringProperty("TimeOfDispatch", LocalDate.now().toString("yyyy-MM-dd hh:MM:ss"));

在5minutesqueue上有另一个消费者检查是否已经过了 5 分钟(通过检查当前时间和标题中的时间)

于 2013-04-23T09:52:13.977 回答