Persistence持久化

来源:互联网 发布:微通话软件下载 编辑:程序博客网 时间:2024/04/28 02:43

1、AMQ Message Store

AMQ Message Store是ActiveMQ5.0缺省的持久化存储。Message commands被保存到transactional journal(由rolling data logs组成)。Messages被保存到data logs中,同时被reference store进行索引以提高存取速度。Date logs由一些单独的data log文件组成,缺省的文件大小是32M,如果某个消息的大小超过了data log文件的大小,那么可以修改配置以增加data log文件的大小。如果某个data log文件中所有的消息都被成功消费了,那么这个data log文件将会被标记,以便在下一轮的清理中被删除或者归档。

修改缺省文件大小的Xml代码  

<broker brokerName="broker" persistent="true" useShutdownHook="false">   

<persistenceAdapter>   

<amqPersistenceAdapter directory="${activemq.base}/data" maxFileLength="32mb"/>    

</persistenceAdapter>   

</broker>

2、Kaha Persistence

Kaha Persistence 是一个专门针对消息持久化的解决方案。它对典型的消息使用模式进行了优化。在Kaha中,数据被追加到data logs中。当不再需要log文件中的数据的时候,log文件会被丢弃。  
例子Xml代码  

<broker brokerName="broker" persistent="true" useShutdownHook="false">   

 <persistenceAdapter>   

<kahaPersistenceAdapter directory="activemq-data" maxDataFileLength="33554432"/>  

</persistenceAdapter>     

</broker>

3、JDBC Persistence 

目前支持的数据库有Apache Derby, Axion, DB2, HSQL, Informix, MaxDB, MySQL, Oracle, Postgresql, SQLServer, Sybase。 

如果你使用的数据库不被支持,那么可以调整StatementProvider 来保证使用正确的SQL方言(flavour of SQL)。

4、Disable Persistence 取消持久化

Xml代码  

<broker persistent="false">   

</broker> 

0 0
原创粉丝点击