ActiveMq系列(四):Activemq持久化

系列文章

ActiveMq系列(一):基本服务器搭建

ActiveMq系列(二):ActiveMq使用入门

ActiveMq系列(三):Springboot集成ActiveMq

ActiveMq系列(四):Activemq持久化

 

目录

前言

持久化配置

尾声


前言

本章内容紧接 ActiveMq系列(三):Springboot集成ActiveMq 而来,相关测试代码复用上一章的。

ActiveMq当前(5.15.12)默认使用kahaDB持久化消息,默认配置 <activemq-dir>/conf/activemq.xml,因为业务需要,更多的时候需要对数据进行维护,这里更改持久化方式为JDBC。

持久化配置

 <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.19</version>
 </dependency>

 

  • 确认下载下载完成过后,找到  C:\Users\当前用户\.m2\repository\mysql\mysql-connector-java\8.0.19

 

  • 找到需要的依赖(这里是 mysql-connector-java-8.0.19.jar ),然后通过Xftp或者其他工具上传到

<activemq-dir>/lib/optional  ,这里 <activemq-dir> 指的是 activemq的安装目录 ,当前为 

/home/activemq/apache-activemq-5.15.11/lib/optional ,其实上传到lib目录下也一样的

 

  • 切换目录到 <activemq-dir>/conf , 这里为 /home/activemq/apache-activemq-5.15.11/conf

 

  • 编辑 activemq.xml ,注释 <persistenceAdapter>  标签内容,删除老的KahaDb策略

 

  • 添加 <persistenceFactory> 标签,作为新的持久化策略
 <persistenceFactory>
	   <journalPersistenceAdapterFactory journalLogFiles="5" dataDirectory="${activemq.data}/activemq-data" dataSource="#mysql-ds"/>
 </persistenceFactory>

    

 

  • 添加mysql数据源
  <bean id="mysql-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
       <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
       <property name="url" value="jdbc:mysql://localhost:3306/activemq?relaxAutoCommit=true"/>
       <property name="username" value="root"/>
       <property name="password" value="12345"/>
       <property name="poolPreparedStatements" value="true"/>
     </bean>

 

注意:这里要确认数据库可连接并且已经有activemq数据库

 

 

  • 查看数据库,生成了三张表 ACTIVEMQ_ACKSACTIVEMQ_LOCK ACTIVEMQ_MSGS

 

  • 测试数据的持久性,这里随便启动一个生产者并发送一条消息,但是不消费(没有消费者),然后查看数据库表

 

尾声

具体的配置以及拓展信息可尽量参考官网:

1. 官网 http://activemq.apache.org/

2. 本篇官网参考 http://activemq.apache.org/persistence 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值