ActiveMQ持久化測試

2021-08-30 08:07:19 字數 2237 閱讀 9325

activemq

很好的支援了訊息的永續性。

結合起來應該是很好的保證了訊息的可靠傳送。

訊息永續性的原理很簡單,就是在傳送者將訊息傳送出去後,訊息中心首先將訊息儲存到本地資料檔案、記憶體資料庫或者遠端資料庫等,然後試圖將訊息傳送給接收者,傳送成功則將訊息從儲存中刪除,失敗則繼續嘗試。訊息中心啟動以後首先要檢查制定的儲存位置,如果有未傳送成功的訊息,則需要把訊息傳送出去。

對此,我做了如下測試:

一、對queue

型別的持久化測試

環境: 1

、新建配置檔案activemq-persistence.xml

file:///$/conf/credentials.properties

2、測試類

publicclasspublisher ;

privatestring

username

= "publisher"

;privatestring

password

= "password";

publicpublisher()throwsjm***ception

publicvoidclose()throwsjm***ception

} publicstaticvoidmain(string args)throwsjm***ception

total

+= count

; system.

out.println(

"published '"

+ count

+ "' of '"

+ total

+ "' job messages"

);trycatch(interruptedexception x)

} publisher.close(); }

publicvoidsendmessage()throwsjm***ception

} string job =

jobs

[idx];

destination destination =

session

.createqueue(

"jobs."

+ job);

message message =

session

.createobjectmessage(

id++);

system.

out.println(

"sending: id: "

+ ((objectmessage)message).getobject() +

" on queue: "

+ destination);

producer

.send(destination, message);

producer

.setdeliverymode(deliverymode.

non_persistent

); } }

publicclassconsumer ;

publicconsumer()throwsjm***ception

publicvoidclose()throwsjm***ception

} publicstaticvoidmain(string args)throwsjm***ception }

publicsession getsession()

} 3、測試

ActiveMQ持久化儲存

size medium activemq的訊息可以儲存在不同的儲存中,預設是kahadb,leveldb,mysql,oracle size size large 1 配置資料庫連線 size c m apache activemq 5.14.1 confactivemq.xml新增資料庫連線資料。...

Activemq訊息持久化

官方文件 activemq持久化相關配置 usr local apache activemq 5.11.1 conf activemq.xml 官方預設的持久化為kahadb 可以稍作調優 indexwritebatchsize 1000 journalmaxfilelength 32mb enab...

ActiveMQ 訊息持久化

可持久化機制 兩種機制 用一句話簡單明瞭來說,就是將mq中的資料儲存乙份,資料被傳送,則將儲存的資料刪除,如果沒有傳送成功則重新傳送。先不說具體的實現,整體的思路是這樣的,如果mq是一台伺服器,我們最好做到物理上的備份,這樣在機器出問題的時候,我們能夠恢復資料。一般將資料儲存到第三方雲上。或者說另外...