當前位置:名人名言大全網 - 端午節短信 - activemq重寫消息過期方法而不重寫messageExpired方法的原因是什麽?我是

activemq重寫消息過期方法而不重寫messageExpired方法的原因是什麽?我是

ActiveMQ的另壹個問題是,只要是軟件,就有可能掛掉。掛機不可怕,但我怕掛機後信息丟失。因此,本節分析幾種持久性方法:

壹。作為文件的持久性

默認情況下,ActiveMQ支持這種方法,只要您在發送消息時將消息設置為持久的。

打開安裝目錄中的配置文件:

d:\ ActiveMQ \ Apache-ActiveMQ \ conf \ ActiveMQ . XML在80行後找到默認配置項:

& lt持久性適配器& gt

& ltkah ADB directory =“$ { ActiveMQ . data }/kah ADB“/& gt。

& lt/persistence adapter & gt;

請註意,這裏使用的是kahaDB,它是壹種基於文件的消息內存,支持事務,並且是壹種可靠、高性能和可擴展的消息內存。

他的初衷是簡單快捷地使用它。KahaDB的索引使用事務日誌,所有目的地只使用壹個索引。壹些測試表明,如果將其用於生產環境,它支持10000個活動連接,並且每個連接都有壹個獨立的隊列。這樣的性能足以滿足大部分需求。

然後將第二個參數更改為:

MsgDeliveryMode。堅持的

有兩種方法可以保存消息。

持久:保存到磁盤,在消費者消費後,消息被刪除。

NON_PERSISTENT:保存到內存中,消息在消費後將被清除。

註意:堆積過多的消息可能會導致內存溢出。

然後打開生成器並發送壹條消息:

wps30F4.tmp

不啟動消費端,同時在管理界面中查看:

wps3105.tmp

我發現有壹條信息在等待。此時,如果沒有持久性,則在ActiveMQ關閉後重新啟動此消息將丟失,但現在我們將其修改為文件持久性,消費者在重新啟動ActiveMQ後仍然可以收到此消息。

wps3106.tmp