首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

ActiveMQ消息存储-KahaDB消息存储跟AMQ消息存储

2012-10-25 
ActiveMQ消息存储-KahaDB消息存储和AMQ消息存储????? JMS 规范支持两种类型的消息传递:持久和非持久的。对

ActiveMQ消息存储-KahaDB消息存储和AMQ消息存储

????? JMS 规范支持两种类型的消息传递:持久和非持久的。对于持久的传递的消息必须被记录至稳定的存储去,

而对非持久的存储,JMS Provider必须尽力传递该消息,但是不会将该消息子记录至稳定的存储去的。

????? 持久的消息使用:当消息传递给Broker后,不管消息发送时Consumer是否运行,该消息对Consumer

始终是可用的。

????? 只有当消息被Consumer消费或确认时,它才会被从消息存储中删除。

????? 非持久的消息使用:用于发送通知或非即时的数据。

?

????? Storage for Queue: 消息存储是按照First in, First out(FIFO)的顺序存储的,One message is

dispatched to a? singleconsumer at a time. 只有当消息被消费或被确认时,它才会被从消息存储中删除。

????? For durable sunscribers to a topic: 每个Consumer获取一个消息的Copy。为了节省存储空间,每个

消息只有一个Copy被Broker存储。存储维护Durable Subscriber的指针,该指针指向下一个存储的消息,并

且分发该消息的Copy给它的Consumer. 因为在这种情况下,每个消息都有多个潜在消费者,所以消息只有当

被成功的传递给每个注册的Durabel Subscriber后,才会被删除。

?

1. KahaDB消息存储

??? 这是一种基于文件的消息存储,并且联合Journal事务,可稳定存储消息并且恢复消息。KahaDB消息存储使

用事务Log作为它的索引,并且对所有的Destination仅仅使用一个索引文件,该索引文件是事务日志文件组中

消息ID的索引。XML文件中配置KahaDB存储如

下:

???? Java语言实现配置:

????详细配置参考:Manning ActiveMQ inAction.pdf(105-106)

热点排行