我一直收到来自Queue1的所有JMS消息并尝试处理它。
如果我尝试处理5次并回滚5次,我希望ActiveMQ将消息放入不同的队列一段时间(例如5分钟)。
我怎样才能做到这一点?
答案 0 :(得分:1)
您可以向消息添加自定义属性(如RESUBMIT_TIMES),并将其递增直到达到5。阅读:JMS
如果达到5,则将其移至 5minutesqueue ,方法是在那里设置具有当前时间戳的另一个属性。例如:
message.setStringProperty("TimeOfDispatch", LocalDate.now().toString("yyyy-MM-dd hh:MM:ss"));
还有 5minutesqueue 上的另一位消费者检查是否已经过了5分钟(通过检查当前时间和标题中的时间)