码迷,mamicode.com
首页 > 其他好文 > 详细

ActiveMQ 消息存储持久化

时间:2018-07-20 11:34:06      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:例子   客户端   share   实现   inter   cer   需要   page   check   

ActiveMQ提供了一个插件式的消息存储,类似于消息的多点传播,主要实现了如下几种:

  • AMQ消息存储-基于文件的存储方式,是以前的默认消息存储
  • KahaDB消息存储-提供了容量的提升和恢复能力,是现在的默认存储方式
  • JDBC消息存储-消息基于JDBC存储的
  • Memory 消息存储-基于内存的消息存储

KahaDB Message Store

  KahaDB是目前默认的存储方式,可用于任何场景,提高了性能和恢复能力。消息存储使用一个事
务日志和仅仅用一个索引文件来存储它所有的地址。
  KahaDB是一个专门针对消息持久化的解决方案,它对典型的消息使用模式进行了优化。在Kaha
中,数据被追加到data logs中。当不再需要log文件中的数据的时候,log文件会被丢弃。

基本配置例子

<persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>

可用的属性有

1:director:KahaDB存放的路径,默认值activemq-data
2:indexWriteBatchSize: 批量写入磁盘的索引page数量,默认值1000
3:indexCacheSize:内存中缓存索引page的数量,默认值10000
4:enableIndexWriteAsync:是否异步写出索引,默认false
5:journalMaxFileLength:设置每个消息data log的大小,默认是32MB
6:enableJournalDiskSyncs:设置是否保证每个没有事务的内容,被同步写入磁盘,JMS持久化的时候需
要,默认为true
7:cleanupInterval:在检查到不再使用的消息后,在具体删除消息前的时间,默认30000

8:checkpointInterval:checkpoint的间隔时间,默认5000
9:ignoreMissingJournalfiles:是否忽略丢失的消息日志文件,默认false
10:checkForCorruptJournalFiles:在启动的时候,将会验证消息文件是否损坏,默认false
11:checksumJournalFiles:是否为每个消息日志文件提供checksum,默认false
12:archiveDataLogs: 是否移动文件到特定的路径,而不是删除它们,默认false
13:directoryArchive:定义消息已经被消费过后,移动data log到的路径,默认null
14:databaseLockedWaitDelay:获得数据库锁的等待时间 (used by shared master/slave),默认
10000
15:maxAsyncJobs:设置最大的可以存储的异步消息队列,默认值10000,可以和concurrent
MessageProducers 设置成一样的值
16:concurrentStoreAndDispatchTransactions:是否分发消息到客户端,同时事务存储消息,默认
true
17:concurrentStoreAndDispatchTopics:是否分发Topic消息到客户端,同时进行存储,默认true
18:concurrentStoreAndDispatchQueues:是否分发queue消息到客户端,同时进行存储,默认true

 

ActiveMQ 消息存储持久化

标签:例子   客户端   share   实现   inter   cer   需要   page   check   

原文地址:https://www.cnblogs.com/xiaoliangup/p/9339494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!