内容简介:ActiveMQ默认使用的持久性机制是KahaDB,这货不熟悉,所以这篇文章来介绍一下将队列中的消息存放在MySQL数据库里找到可以看到,ActiveMQ默认使用的是
ActiveMQ默认使用的持久性机制是KahaDB,这货不熟悉,所以这篇文章来介绍一下将队列中的消息存放在 MySQL 数据库里
修改配置
找到 conf
文件夹,打开 activemq.xml
文件,找到下面配置
<persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> </persistenceAdapter>
可以看到,ActiveMQ默认使用的是 kahadb
,把这一行注释掉,加上MySQL的配置(mysql-datasource的bean要配置在broker标签外面),如下
<broker> <!-- ... --> <persistenceAdapter> <!-- <kahaDB directory="${activemq.data}/kahadb"/> --> <jdbcPersistenceAdapter dataSource="#mysql-datasource"/> </persistenceAdapter> <!-- ... --> </broker> <bean id="mysql-datasource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/test?relaxAutoCommit=true"/> <property name="username" value="root"/> <property name="password" value=""/> <property name="maxActive" value="200"/> <property name="poolPreparedStatements" value="true"/> </bean>
注意上面数据库连接中的用户名密码要根据自己的mysql服务来进行修改,我这里用是test库
ActiveMQ添加MySQL驱动
将mysql-connector-java、commons-dbcp、commons-pool三个jar包拷贝到 ActiveMQ 文件夹下的 lib
文件夹内
然后再次重启ActiveMQ,如果没有报错,一般就没问题了
打开 mysql 数据库客户端 找到 test
库,会发现多了三张表
测试
运行HelloWorld里的 Producer
创建100条消息
打开表 ACTIVEMQ_MSGS
可以看到已经有100条数据了
再次运行 Consumer
消费这100条消息,然后再打开表 ACTIVEMQ_MSGS
则没有数据了
原文链接:
以上所述就是小编给大家介绍的《ActiveMQ学习-持久化队列数据,将队列中的消息存入MySQL (3)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
断点:互联网进化启示录
[美]杰夫·斯蒂贝尔 / 师蓉 / 中国人民大学出版社有限公司 / 2014-11-1 / CNY 49.00
一部神经学、生物学与互联网技术大融合的互联网进化史诗巨著。 我们正置身网络革命中。互联网的每一丝变化都与你我息息相关。当科技变得无处不在时,它就会改变你我。在《断点》一书中,大脑科学家和企业家杰夫·斯蒂贝尔将带领读者来到大脑、生物与技术的交汇处,向读者展示生物学和神经学是如何与互联网技术发生联系的;我们是如何通过生物学上的前车之鉴,来预测互联网的发展的;互联网在经历增长、断点和平衡后又会发生......一起来看看 《断点:互联网进化启示录》 这本书的介绍吧!
JSON 在线解析
在线 JSON 格式化工具
HSV CMYK 转换工具
HSV CMYK互换工具