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后,利用连接工具查看生成的数据库表结构。