是否可以通过Jolokia API从ActiveMQ队列中检索400多个消息?

时间:2019-04-16 13:05:23

标签: activemq jmx jolokia

我在ActiveMQ中有一个错误队列,该队列由Apache Camel的onException错误处理程序填充。此队列中可能有数千条消息。

我没有使用ActiveMQ Web控制台,而是构建了一个自定义Web管理员,以集成来自其他组件的其他一些统计信息。因此,我也想包括ActiveMQ的统计信息。

ActiveMQ版本:5.14.3

我研究了Jolokia JMX API及其操作。例如,对于代理的Jolokia API端点,我有以下负载:

{
    "type": "exec",
    "mbean": "org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=test.errors",
    "operation": "browse(java.lang.String)",
    "arguments": ["EXCEPTION_TYPE LIKE '%jdbc%'"]
}

标头字段EXCEPTION_TYPE已通过Apache Camel Route填充。目前,该队列中有超过1万条消息。如上所述,我向带有有效负载的代理API端点发出了POST请求。尽管我有超过1万条消息,但此请求仅产生了400条消息(由于最大页面大小的限制,在source code中进行了硬编码)。这意味着我无法通过Jolokia一次获得超过400条消息。我也尝试了BrowseMessages()方法。看起来,它通常做同样的事情。

  1. 是否可以浏览这些消息(例如,如果消息数量很多,可能超过10k)?
  2. 或者,可以对它们进行分页吗?我看不到与此相关的操作方法。

我试图查看Hawtio在检索所有消息方面是否做了一些特别的事情。但是,结果是相同的(最多400条消息)。

ActiveMQ Web控制台不会提取所有消息。这可能是因为它与ActiveMQ项目紧密相关。

我不仅限于JMX / Jolokia。如果可以通过某些API获取这些统计信息,则同样可以。

任何输入都会很棒!

0 个答案:

没有答案