我有一个 JMS 队列的消费者。消费过程中可能出现异常,需要再次触发流程。我有两个初步计划:
将确认设置为
javax.jms.Session.CLIENT_ACKNOWLEDGE
。javax.jms.Message#acknowledge()
处理成功时调用删除消息javax.jms.Session#recover()
,处理失败时调用通知OpenMQ重新传递消息。但我找不到设置最大重新交付次数和重新交付时间间隔的方法。将确认设置为
javax.jms.Session.AUTO_ACKNOWLEDGE
。每次发生异常时向新队列发送一条新消息(包含原始消息和处理时间),并且我希望能够设置延迟时间。但是,我找不到设置消息延迟时间的方法。