注册持久订阅后重置ActiveMQ

时间:2012-06-18 20:45:45

标签: jms activemq

我今天已经从我的JMS主题订阅者注册了持久订阅。我这样做是通过设置唯一的客户端ID并为订阅提供订阅名称:

connection.setClientId("worker" + this.pid);
session.createDurableSubscriber(xyzTopic, "xyzSubscription");

现在,当我开始工作时,我看到以下错误:

12/06/18 22:30:42 WARN broker.TransportConnection:无法添加连接ID:xxxxxx-45841-1340045847830-1:1,原因:javax.jms.InvalidClientIDException:Broker:localhost - 客户端:worker2已经从tcp://127.0.0.1:52796连接 12/06/18 22:30:42 WARN TransportConnection.Service:发生异步错误:java.lang.IllegalStateException:无法将生产者添加到尚未注册的连接:ID:xxxxxx-45841-1340045847830-1:1 < / p>

(主机名由xxxxxx取代)

我仍处于开发环境中,但是当我重新启动ActiveMQ(使用maven目标activemq:run)时,所有内容都会重置。然而,情况似乎并非如此。

问题: 如何重置整个activeMQ并清除所有持久化状态,如持久订阅。

还究竟是什么导致了这个错误?我的客户端不显示任何异常,只有activeMQ显示上述错误以及几个相同的异常。

1 个答案:

答案 0 :(得分:1)

不知道更难以说明导致错误的原因,但重置所有内容,您只需删除安装ActiveMQ的./data/目录的内容即可。