2012-06-18 33 views
1

我從今天的JMS主題訂戶註冊了持久訂閱。已註冊持久訂閱後重置ActiveMQ

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

現在,當我開始我的工作人員,我看到了以下錯誤:

18年12月6日22:30我通過設置一個唯一的客戶端ID和一個給訂閱的訂閱名這樣做:42 WARN broker.TransportConnection:未能添加連接ID:xxxxxx-45841-1340045847830-1:原因:javax.jms.InvalidClientIDException:代理:本地主機 - 客戶端: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

(主機名由XXXXXX替換)

我仍然在發展環境,我雖然當我重新啓動的ActiveMQ(使用maven的目標的ActiveMQ:運行),那麼一切都被重置。然而,這似乎並非如此。

問題: 如何重置整個activeMQ並清除所有持久狀態,如持久訂閱。

而且究竟是什麼導致了這個錯誤?我的客戶不顯示任何異常,只有activeMQ顯示上述錯誤以及幾個相同的異常。

回答

1

不知道更多它很難說出什麼原因導致了錯誤,但重置所有內容只需刪除安裝了ActiveMQ的./data/目錄中的內容即可。

+0

我通過maven與activemq啓動activeMQ:run。你知道它保存數據/文件夾的位置嗎? 我現在通過重命名所有clientIds和所有訂閱名稱來解決此問題。但我認爲這不是最乾淨的解決方案。 – lanoxx

+0

您是否嘗試過使用mvn clean?數據可能在目標目錄中,但您可以搜索kahadb來查找文件。 –

+0

我無法在目標目錄中找到數據目錄或任何名爲kahadb的文件。 – lanoxx

相關問題