pzxsheng

有种相见不敢见的伤痛,有种爱还埋藏在心中

ActiveMQ使用笔记(二)ActiveMQ消息持久化一

原文地址:http://www.huaishao8.com/config/activemq/122.html

在broker中设置属性persistent=”true”(默认是true),同时发送的消息也应该是persitent类型的。ActiveMQ消息持久化有三种方式:AMQ、KahaDB、JDBC。

1、AMQ

AMQ是一种文件存储形式,它具有写入速度快和容易恢复的特点。消息存储在一个个文件中,文件的默认大小为32兆,如果一条消息的大小超过了32兆,那么这个值必须设置大点。当一个存储文件中的消息已经全部被消费,那么这个文件将被标识为可删除,在下一个清除阶段,这个文件被删除。默认配置如下:

    <persistenceAdapter>
      
<amqPersistenceAdapter directory="activemq-data" maxFileLength="32mb"/>
    
</persistenceAdapter>

 

AMQ的属性:

属性名称默认值描述
directoryactivemq-data消息文件和日志的存储目录
useNIOtrue使用NIO协议存储消息
syncOnWritefalse同步写到磁盘,这个选项对性能影响非常大
maxFileLength32mb一个消息文件的大小
persistentIndextrue消息索引的持久化,如果为false,那么索引保存在内存中
maxCheckpointMessageAddSize4kb一个事务允许的最大消息量
cleanupInterval30000清除操作周期,单位ms
indexBinSize1024索引文件缓存页面数,缺省为1024,当amq扩充或者缩减存储时,会锁定整个broker,导致一定时间的阻塞,所以这个值应该调整到比较大,但是代码中实现会动态伸缩,调整效果并不理想。
indexKeySize96索引key的大小,key是消息ID
indexPageSize16kb索引的页大小
directoryArchivearchive存储被归档的消息文件目录
archiveDataLogsfalse当为true时,归档的消息文件被移到directoryArchive,而不是直接删除

posted on 2013-03-15 08:55 科菱财神 阅读(2762) 评论(0)  编辑  收藏 所属分类: ActiveMQ


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2013年3月>
242526272812
3456789
10111213141516
17181920212223
24252627282930
31123456

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜