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