我正在使用 Artemis 1.3,我想使用 jConsole 对其进行监控(如 How to monitor Apache Artemis 中的建议)。
我通常能够连接到 Artemis,但我对其使用有一些疑问。 (这些问题主要是对接口(interface) org.apache.activemq.artemis.api.jms.management.JMSQueueControl 的问题,因为我相信 这些是将通过 JMX 调用的方法):
1) 我可以通过执行参数为 null 的队列操作“listMessages”来显示队列上的所有消息。 它会告诉我消息的参数,如消息 ID、优先级、是否持久等。 但是,我无法获取消息的有效负载。哪个命令可以给我消息的内容?
2) “listMessages”的过滤器参数是什么? 当我将其设置为 null 时,我只会得到响应,但对于所有其他值,我只会得到空结果。
3)虽然可以从队列中读取消息,但我无法读取针对某个主题发送的消息。 由于主题的工作方式,这在某种程度上是逻辑的,但我希望当我在主题上调用“暂停”时,消息 一直呆到我叫“恢复”为止。不幸的是这不起作用。是否有其他方法可以查看某个主题收到了哪些消息?
最佳答案
您可以尝试使用
browse()
操作。对于过滤器参数,您需要指定属性值对,例如
<JMSPriority=4
->listMessages(JMSPriority=4)
没有。在订阅者持久之前,不会为主题存储消息。
关于java - 通过 jConsole/JMX 的 Activemq Artemis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42723169/