使用5.10以后的版本activemq,此配置设置在如下节点中
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb" jo/>
</persistenceAdapter>
property name | default value | Comments |
---|---|---|
*directory | activemq-data | 消息文件和日志的存储目录 |
*indexWriteBatchSize | 1000 | 当Metadata cache区域和Metadata store区域不同的索引数量达到这个值后,Metadata cache将会发起checkpoint同步 |
*indexCacheSize | 10000 | 内存中,索引的页大小。超过这个大小Metadata cache将会发起checkpoint同步 |
*enableIndexWriteAsync | false | 索引是否异步写到消息文件中,将以不要设置为true |
*journalMaxFileLength | 32mb | 一个消息文件的大小 |
*enableJournalDiskSyncs | true | 如果为true,保证使用同步写入的方式持久化消息到journal文件中 |
*cleanupInterval | 30000 | 清除(清除或归档)不再使用的db-*.log文件的时间周期(毫秒)。 |
*checkpointInterval | 5000 | 写入索引信息到metadata store中的时间周期(毫秒) |
ignoreMissingJournalfiles | false | 是否忽略丢失的journal文件。如果为false,当丢失了journal文件时,broker启动时会抛异常并关闭 |
checkForCorruptJournalFiles | false | 检查消息文件是否损坏,true,检查发现损坏会尝试修复 |
checksumJournalFiles | false | 产生一个checksum,以便能够检测journal文件是否损坏。 |
*archiveDataLogs | false | 当为true时,归档的消息文件被移到directoryArchive,而不是直接删除 |
*directoryArchive | null | 存储被归档的消息文件目录 |
databaseLockedWaitDelay | 10000 | 在使用负载时,等待获得文件锁的延迟时间,单位ms |
maxAsyncJobs | 10000 | 等待写入journal文件的任务队列的最大数量。应该大于或等于最大并发producer的数量。配合并行存储转发属性使用。 |
concurrentStoreAndDispatchTopics | false | 如果为true,转发消息的时候同时提交事务 |
concurrentStoreAndDispatchQueues | true | 如果为true,转发Topic消息的时候同时存储消息的message store中 |
archiveCorruptedIndex | false | 是否归档错误的索引到Archive文件夹下 |
IndexDirectory | 单独设置KahaDB中,db.data文件的存储位置。如果不进行设置,db.data文件的存储位置还是将以directory属性设置的值为准 |