Queue的结构很简单,就是一个FIFO的队列。
对于Topic这种,每个consumer会得到一个message队列的复制。
对于消息的持久存储,activemq提供了这么几种
1,基于文件的存储,以前默认的存储方式
2,kahaDB消息存储,提供了容量的提升和恢复能力,是现在的默认存储方式。
在kaha中,数据被追加到data logs中。当不再需要log文件中的数据的时候,log文件会被丢弃。
activemq.xml的配置文件是这么写的。
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>
除了上面的 directory外,还有很多熟悉,在需要的时候可以查一下资料,去优化配置。默认值的话,一般是比较合理的。但是在特殊情况下,也需要根据具体情形去优化。
3,jdbc存储:基于关系型数据库的存储
4,Memory 消息存储:基于内存的存储