我找不到任何关于如何通过JMX向ActiveMQ Artemis队列发送和减去消息的留档
我尝试通过ActiveMQ“Classic”中的相同MBean,但这些MBean不打算在ActiveMQ Artemis中使用
您可以在留档中找到有关ActiveMQ Artemis管理API的一般信息。要了解有关各种可用管理操作的更多信息,请参阅这些接口的Javadoc。它们位于org.apache.activemq.artemis.api.core.management
包中,并在末尾以单词Control
命名(例如ServerControl
、QueueControl
等)。
要将消息发送到队列,您可以在QueueControl
上使用sendMessage()
操作,也可以在相应的AddressControl
上使用相同的操作,消息将根据配置的路由类型路由到地址上的队列。
“减去”我假设你的意思是删除,你可以通过几个不同的操作来做到这一点:
RemoveMessage(long)
-删除与指定消息ID对应的消息。需要明确的是,此消息ID是内部ID,而不是JMSMessageID。如果您正在浏览消息,就像我们在本问题中讨论的那样,您可以通过查看“MessageID”值(即CompositeData常量#MESSAGE_ID
)获得此IDRemoveMessage(String)
-删除与指定过滤器对应的所有消息。使用null
或空过滤器将从此队列中删除所有消息。