JMS消息持久化,将ActiveMQ消息持久化到mySql数据库中
2014-05-16 20:43
459 查看
ActiveMQ5.8.0版本采用kahadb作为默认的消息持久化方式。使用默认的持久化机制,我们不容易直接看到消息究竟是如何持久的。ActiveMQ提供的JDBC持久化机制,能够将持久化信息存储到数据库。通过查看数据库中ActiveMQ生成的表结构和存储的数据,能够帮助我们更好的了解消息的持久化机制。现在介绍如何配置activemq,将数据持久化到mysql中。
1.配置activeMQ需要的mySql数据源
为了能够使用JDBC访问mysql数据库,显然必须要配置消息服务器的数据库源。在activemq\apache-activemq-5.8.0\conf\activemq.xml进行配置
2.改变activeMQ默认的持久化方式
在activemq.xml中注释掉默认的kahadb,使用jdbc持久化
3.提供mysql的驱动程序
由于activeMQ消息服务器,没有自带mysql数据库的驱动程序。我们需要手动将mysql驱动添加到消息服务器。
方法是将驱动拷贝到apache-activemq-5.8.0\lib\目录下。
经过上面的三步配置,我们重新启动消息服务器,就可以发现activeMQ在数据库中新建了3张表
activemq_acks ,activemq_lock ,activemq_msgs 。至此数据库持久化完成。后续博客会继续介绍这3张表的含义和使用,目前我还不清楚。
1.配置activeMQ需要的mySql数据源
为了能够使用JDBC访问mysql数据库,显然必须要配置消息服务器的数据库源。在activemq\apache-activemq-5.8.0\conf\activemq.xml进行配置
<!-- MySQL DataSource --> <bean id="mysqlDataSource" 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:3306/amq_db?relaxAutoCommit=true"/> <property name="username" value="root"/> <property name="password" value="root"/> <property name="poolPreparedStatements" value="true"/> </bean>在</broker>结点之后,增加数据源的配置
2.改变activeMQ默认的持久化方式
在activemq.xml中注释掉默认的kahadb,使用jdbc持久化
<!-- <persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> </persistenceAdapter> --> <persistenceAdapter> <jdbcPersistenceAdapter dataSource="#mysqlDataSource"/> </persistenceAdapter>
3.提供mysql的驱动程序
由于activeMQ消息服务器,没有自带mysql数据库的驱动程序。我们需要手动将mysql驱动添加到消息服务器。
方法是将驱动拷贝到apache-activemq-5.8.0\lib\目录下。
经过上面的三步配置,我们重新启动消息服务器,就可以发现activeMQ在数据库中新建了3张表
activemq_acks ,activemq_lock ,activemq_msgs 。至此数据库持久化完成。后续博客会继续介绍这3张表的含义和使用,目前我还不清楚。
相关文章推荐
- JMS消息持久化,将ActiveMQ消息持久化到mySql数据库中
- JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中
- JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中
- JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中
- JMS学习(五)--ActiveMQ中的消息的持久化和非持久化 以及 持久订阅者 和 非持久订阅者之间的区别与联系
- JMS服务器ActiveMQ的初体验并持久化消息到MySQL数据库中
- ActiveMQ系统之——消息持久化到MySQL数据库中(二)
- JMS之——ActiveMQ消息持久化
- JMS学习(七)-ActiveMQ消息的持久存储方式之KahaDB存储
- ActiveMQ中的消息的持久化和非持久化 以及 持久订阅者 和 非持久订阅者之间的区别与联系
- ActiveMQ消息持久化到Mysql数据库
- ActiveMQ的消息持久化到Mysql数据库
- JMS之activemq消息持久化
- [jms那点事儿] JMS ( java message service )入门 + activemq消息持久化
- [jms那点事儿] JMS ( java message service )入门 + activemq消息持久化
- ActiveMQ - 持久化消息与持久主题订阅
- ActiveMQ消息持久化到Mysql数据库
- JMS学习七(ActiveMQ消息持久化)
- ActiveMQ消息持久化-KahaDB
- ActiveMQ使用spring JmsTemplate发送消息(一)