题
我将 ActiveMQ 与 C# 客户端库一起使用。我创建了 10,000 个具有随机名称的主题作为评估目的测试的一部分,但现在我无法摆脱这些主题。ActiveMQ 因如此数量的主题而陷入停顿,因此我需要将它们从系统中删除。这是我到目前为止所尝试过的,但没有一个奏效。我正在将 ActiveMQ 作为 Windows 服务运行。
- 删除 ACTIVEMQ_HOME\Data 中的所有文件和文件夹
- 关闭所有持久化
- 删除持久性文件夹中的所有文件和文件夹
- 删除整个 ACTIVEMQ_HOME 目录并将其重新安装在不同的文件夹中
我已跟踪文件活动,但找不到创建或删除主题时写入的任何文件。
我意识到 .NET 客户端库的功能有点少,所以我什至无法以编程方式获取所有主题的列表。
解决方案
转到您的代理配置文件,打开该文件以在代理元素上进行编辑,添加以下属性:
deleteAllMessagesOnStartup="true"
当您重新启动代理时,这将导致所有先前的主题和队列及其待处理消息从 kaha 存储中删除。
玩得开心!
其他提示
如果您将activemq版本升级到5.8.0,则可以使用REST API来管理代理。但在5.7.0或更早版本中,管理界面只能通过java环境下的JMX访问。
不隶属于 StackOverflow