ActiveMQ数据持久方式
- ActiveMQ现在默认的数据持久方式是KaHaDB,她是一个基于文件的支持事务的消息存储数据库。具体详细信息可以参考链接http://www.cnblogs.com/dycg/archive/2013/07/16/3193285.html,切换到目录data中的kahadb文件夹中查看目录结构如图所示:
简单描述下:
db-1.log:具体的消息信息
db.data: btree索引,纪录每条信息的具体引用
db.redo:btree索引重建
lock:锁文件
- jdbc数据库持久方式,可以通过配置数据库连接,将信息存储在数据库中,本人采用mysql数据库,端口为3307,用户名root,密码123456,配置方式如下:
a.进入config目录,vi activemq.xml
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#mysql-ds" createTablesOnStartup="true" />
</persistenceAdapter>
<bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3307/test"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</bean>
```
b.将commons-dbcp-1.2.1.jar,commons-pool-1.2.jar复制到lib目录下
c.重启activemq后,利用连接工具查看生成的数据库表结构。
![数据库表结构](http://img.blog.csdn.net/20150928221338778)