我在任何地方都找不到关于如何通过 JMX 向 Artemis 队列发送和减去消息的文档
我尝试通过 MBean ActiveMQ 但那里的 MBean 不打算在 Artemis 中使用
您可以在文档中找到有关 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
)removeMessage(String)
- 删除与指定过滤器对应的所有消息。使用 null
或空过滤器将从该队列中删除所有消息。