1)官方默認的持久化為Kahadb,其配置在/usr/local/apache-activemq-5.15.0/conf/activemq.xml
1
2
3
director:KahaDB存放的路徑,默認值activemq-data
indexWriteBatchSize: 批量寫入磁盤的索引page數量,默認值1000
indexCacheSize:內存中緩存索引page的數量,默認值10000
enableIndexWriteAsync:是否異步寫出索引,默認false
journalMaxFileLength:設置每個消息data log的大小,默認是32MB
enableJournalDiskSyncs:設置是否保證每個沒有事務的內容,被同步寫入磁盤,JMS持久化的時候需要,默認為true
cleanupInterval:在檢查到不再使用的消息后,在具體刪除消息前的時間,默認30000
checkpointInterval:checkpoint的間隔時間,默認5000
ignoreMissingJournalfiles:是否忽略丟失的消息日志文件,默認false
checkForCorruptJournalFiles:在啟動的時候,將會驗證消息文件是否損壞,默認false
checksumJournalFiles:是否為每個消息日志文件提供checksum,默認false
archiveDataLogs: 是否移動文件到特定的路徑,而不是刪除它們,默認false
directoryArchive:定義消息已經被消費過后,移動data log到的路徑,默認null
:databaseLockedWaitDelay:獲得數據庫鎖的等待時間 (used by shared master/slave),默認10000
maxAsyncJobs:設置最大的可以存儲的異步消息隊列,默認值10000,可以和concurrentMessageProducers 設置成一樣的值
concurrentStoreAndDispatchTransactions:是否分發消息到客戶端,同時事務存儲消息,默認true
concurrentStoreAndDispatchTopics:是否分發Topic消息到客戶端,同時進行存儲,默認true
concurrentStoreAndDispatchQueues:是否分發queue消息到客戶端,同時進行存儲,默認true
2)mysql的持久化配置
第一步:commons-dbcp 與mysql-connector的jar放在apache-activemq-5.15.0\lib\的目錄里
第二步:在mysql數據庫中創建數據庫名為activemq的數據庫
第三步:將官方默認的persistenceAdapter配置改為如下:
1
2
3
第四步:在前添加如下信息:
1
2
3
4
5
6
7
8
在上面的url地址配置,下面的設置可要可不要,要根據自己環境需求配置
1 useUnicode=true&characterEncoding=UTF-8&relaxAutoCommit=true$amp ;useTimezone=true&serverTimezone=GMT%2B8:00&