Activemq

如何啟用 ActiveMQ 持久性?

  • November 7, 2015

我想在 amq 或機器重啟後保存未使用的消息。此文件是否適用於 ActiveMQ 5.12.1 版本?我嘗試使用文件中的範例並得到錯誤:

錯誤 | 載入失敗:類路徑資源

$$ activemq.xml $$,原因:來自類路徑資源的 XML 文件中的第 86 行$$ activemq.xml $$是無效的; 嵌套異常是 org.xml.sax.SAXParseException;行號:86;列號:90;cvc-complex-type.2.4.a:發現以元素“kahaPersistenceAdapter”開頭的無效內容。’{" http://activemq.apache.org/schema/core “:jdbcPersistenceAdapter、” http://activemq.apache.org/schema/core “:journalPersistenceAdapter、” http://activemq.apache.org之一/schema/core “:kahaDB, " http://activemq.apache.org/schema/core “:levelDB, " http://activemq.apache.org/schema/core “:mKahaDB, " http://activemq .apache.org/schema/core “:memoryPersistenceAdapter, " http://activemq.apache。http://activemq.apache.org/schema/core “]}’ 是預期的。

幾乎預設配置會發生此錯誤:https ://yadi.sk/d/e8tWyIzyk9piV

好吧,我將 kahaPersistenceAdapter 替換為 kahaDB 並重新啟動。並得到錯誤:

屬性“maxDataFileLength”不允許出現在元素“kahaDB”中。

我替換了這個屬性並啟動了 ActiveMQ。我將消息發送到隊列,重新啟動 amq 並且我未使用的消息消失了。我做錯了什麼?

好吧,您只需要發送帶有消息的特殊標頭即可。

$amq_headers['persistent'] = "true";

你的資訊仍然存在。

引用自:https://serverfault.com/questions/733090