Activemq Artemis 来自 jConsole/JMX

Active MQ Artemis via jConsole/JMX

我正在使用 Artemis 1.3,我想使用 jConsole 对其进行监控(如 中所建议)。

我通常可以连接到 Artemis,但我对它的使用有一些疑问。 (这些问题主要是对接口的问题org.apache.activemq.artemis.api.jms.management.JMSQueueControl 因为我认为 这些是将通过 JMX 调用的方法):

1) 我可以通过执行带有参数 null 的队列操作 "listMessages" 来显示队列中的所有消息。 它会告诉我消息的参数,如消息 ID、优先级、是否持久等。 但是,我无法获取消息的有效负载。哪个命令可以给我消息的内容?

2) "listMessages" 的过滤器参数是什么? 当我将它设置为 null 时,我只会得到一个响应,但是对于所有其他值,我只会得到一个空结果。

3) 虽然从队列中读取消息有效,但我无法读取针对某个主题发送的消息。 由于主题的工作方式,这在某种程度上是合乎逻辑的,但我希望当我在主题上调用 "pause" 时,消息 一直待到我打电话给 "resume"。不幸的是,这不起作用。有没有其他方法可以查看某个主题收到了哪些消息?

  1. 你可以用browse()操作试试

  2. 对于过滤参数,你需要指定属性-value pair like JMSPriority=4 -> listMessages(JMSPriority=4)

  3. 没有。在订阅者持久之前,不会为主题存储消息。