提问者:小点点

如何在ActiveMQ Artemis中取消计划消息


我设置了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小时的情况下重复一条消息?


  • 共1个答案

    匿名用户

    当您使用Browse()管理方法时,您看不到计划的消息,因为技术上计划的消息不在队列中。如果它们在队列中,它们将被传递给消费者。

    目前没有办法在不等待预定时间到达的情况下重复消息。但是,您可以使用listSchduledMessages()获取消息的ID,然后将ID传递给RemoveMessage(long)以删除消息,然后使用不同的(或没有)计划重新发送。