我将 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访问。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top