我设置了ActiveMQ Artemis的配置,在一段时间后重新投递一条不成功的消息,有延迟,像这样
attempt no 1. unsuccessful delivery wait for 5 secs
attempt no 2. unsuccessful delivery wait for 10 secs
...
attempt no nnn. unsuccessful delivery wait for 5 hours
问题是,我没有看到队列上的消息被调度,我不知道如何取消5小时的等待期并重新传递消息
我的问题
>
为什么当我在ArtemisGUI控制台上执行Browse()
函数时,队列中看不到该消息?我只能在执行listSchduledMessages()
时才能看到该消息。如果我没有尝试listSchduledMessages()
,我会想知道为什么我丢失了一条消息。
有没有办法在不等待接下来的5小时的情况下重复一条消息?
当您使用Browse()
管理方法时,您看不到计划的消息,因为技术上计划的消息不在队列中。如果它们在队列中,它们将被传递给消费者。
目前没有办法在不等待预定时间到达的情况下重复消息。但是,您可以使用listSchduledMessages()
获取消息的ID,然后将ID传递给RemoveMessage(long)
以删除消息,然后使用不同的(或没有)计划重新发送。