如何删除ActiveMQ中的所有主题?

时间:2009-03-02 18:59:49

标签: activemq

我正在将ActiveMQ与C#客户端库一起使用。我创建了10,000个随机名称的主题作为评估目的的测试的一部分,现在我无法摆脱这些主题。 ActiveMQ因为这个主题而陷入停顿,所以我需要它们离开系统。这是我到目前为止所尝试过的,但没有一个有效。我正在运行ActiveMQ作为Windows服务。

  • 删除ACTIVEMQ_HOME \ Data
  • 中的所有文件和文件夹
  • 关闭所有持久性
  • 删除持久性文件夹中的所有文件和文件夹
  • 删除整个ACTIVEMQ_HOME目录并将其重新安装到其他文件夹

我已跟踪文件活动,找不到创建或删除主题时写入的任何文件。

我意识到.NET客户端库对功能有点了解,所以我甚至无法以编程方式获得所有主题的列表。

3 个答案:

答案 0 :(得分:15)

转到代理配置文件,在代理元素上打开要编辑的文件,添加以下属性:

deleteAllMessagesOnStartup="true"

这将导致所有先前的主题&重新启动代理时,队列及其待处理的消息将从您的kaha商店中删除。

玩得开心!

答案 1 :(得分:0)

这个问题可能很老了,但是要完全清除ActiveMQ中的所有数据以及所有队列和主题,一种快速简便的方法是转到以下路径:

<ActiveMQ_Installation_Directory>/data

并删除其中的所有文件。

现在,一旦重新启动AMQ,它将以全新,干净的安装方式启动。

答案 2 :(得分:-1)

如果将activemq版本升级到5.8.0,则可以使用REST API来管理代理。 但是在5.7.0或更早版本中,管理界面只能由Java环境中的JMX访问。