2009-03-02 89 views
4

我正在使用ActiveMQ与C#客户端库。为了评估目的,我创建了具有随机名称的10,000个主题作为测试的一部分,现在我无法摆脱主题。 ActiveMQ通过这个主题来减少停顿,所以我需要它们离开系统。这是我到目前为止所尝试的,并没有任何成果。我将ActiveMQ作为Windows服务运行。如何删除ActiveMQ中的所有主题?

  • 删除所有文件和文件夹的ACTIVEMQ_HOME \数据
  • 关闭所有持久
  • 删除所有文件和文件夹在持久文件夹
  • 删除整个ACTIVEMQ_HOME目录,并重新安装在一个不同的文件夹

我追踪了文件活动并找不到任何创建或删除主题时写入的文件。

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

回答

15

转到你的经纪人配置文件,打开文件进行编辑经纪人元素,添加以下属性:

deleteAllMessagesOnStartup="true" 

这将导致所有以前的主题&队列,和他们待处理消息从删除你重新启动你的经纪人时你的卡哈商店。

玩得开心!

+0

这只是保存了我的培根。 Upvoted。 – alxp 2010-09-14 03:49:54

-1

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