ActiveMQ - 通过命令行删除/清除所有队列

Aye*_*let 11 activemq-classic jms message-queue

有没有办法通过命令行(win/linux)删除/清除ActiveMQ中的所有队列?我只能找到特定队列的命令.或者也许有办法通过activeMQ管理员这样做?同样,我只找到了如何逐个删除/清除队列,这可能非常繁琐.

谢谢!

Vih*_*har 18

你可以activemq.xml稍微调整一下:

<broker deleteAllMessagesOnStartup="true"  ...>
Run Code Online (Sandbox Code Playgroud)

这适用于KahaDB消息存储(它有JDBC消息存储存在问题),所有消息都被删除,随后队列被清除.

如果您希望删除所有队列,重新启动代理将不是一个昂贵的选项来清理所有内容.


Ant*_*ton 7

我开发了自己的 ActiveMQ 命令行实用程序 (activemq-cli) 来执行此操作。您可以在这里找到它:https : //github.com/antonwierenga/activemq-cli(命令“purge-all-queues”或“remove-all-queues”)。


sta*_*kos 5

从版本 5.0 开始,这似乎可以使用 ActiveMQ 本身提供的 CLI 来完成

$ ActiveMQ/bin/activemq purge
Run Code Online (Sandbox Code Playgroud)