如何通过 JMX 向 Artemis 队列发送和减去消息?

问题描述 投票:0回答:1

我在任何地方都找不到关于如何通过 JMX 向 Artemis 队列发送和减去消息的文档

我尝试通过 MBean ActiveMQ 但那里的 MBean 不打算在 Artemis 中使用

java jmx activemq-artemis
1个回答
0
投票

您可以在文档中找到有关 ActiveMQ Artemis 管理 API 的一般信息。要了解有关各种可用管理操作的更多信息,请参阅这些接口的 Javadoc。它们位于

org.apache.activemq.artemis.api.core.management
包中,并在末尾以
Control
一词命名(例如
ServerControl
QueueControl
等)。

要将消息发送到队列,您可以在 sendMessage()

 上使用 
QueueControl
操作,或者您也可以在相应的
AddressControl
上使用相同的操作,消息将被路由到队列上地址根据配置的路由类型。

“减去”我假设你的意思是delete你可以通过几个不同的操作来做到这一点:

  • removeMessage(long)
    - 删除与指定消息 ID 对应的消息。需要明确的是,此消息 ID 是 internal ID,而不是 JMSMessageID。如果您正在浏览我们在this question中讨论的消息,您可以通过查看“messageID”值(即
    CompositeDataConstants#MESSAGE_ID
  • 来获取此ID
  • removeMessage(String)
    - 删除与指定过滤器对应的所有消息。使用
    null
    或空过滤器将从该队列中删除所有消息。
© www.soinside.com 2019 - 2024. All rights reserved.