我從今天的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顯示上述錯誤以及幾個相同的異常。
我通過maven與activemq啓動activeMQ:run。你知道它保存數據/文件夾的位置嗎? 我現在通過重命名所有clientIds和所有訂閱名稱來解決此問題。但我認爲這不是最乾淨的解決方案。 – lanoxx
您是否嘗試過使用mvn clean?數據可能在目標目錄中,但您可以搜索kahadb來查找文件。 –
我無法在目標目錄中找到數據目錄或任何名爲kahadb的文件。 – lanoxx