消费者计数/来自队列的待处理消息计数 + ActiveMQ + Java

Consumer Count / pending Message Count from Queue + ActiveMQ + Java

我必须在 Java 中开发实用程序,它将使用 ActiveMQ API 获取 Queue/Topic 的属性以获得消费者数量/待处理消息数量,以及有什么方法可以通过代码从队列中删除任何消息?

以下所有细节都是关于ActiveMQ的队列API,你也可以找到类似的话题

  • 使用 getMessages().size()
  • 找不到待处理的消息
  • getConSumers().size()
  • 找不到消费者
  • 是的,我们可以通过 Java 代码将消息删除到队列中,但我们需要 MessageReferencemessageId 或合适的 message Selector ,你可以看看官方 removeMessage(...) 的文档和 removeMatchingMessages(...)here

希望对您有所帮助!

祝你好运!

我建议使用 Statistics Plugin 来获取消费者数量、待处理数量等。

关于 deleting/removing 来自队列的任何特定消息,我建议不要在单独的程序中这样做,而是让您的消息使用者处理此类消息。我认为这将是更易于维护的方法。