springboot集成activemq持久化mysql

2023-11-20

背景:

       activemq的数据默认是持久化在data文件夹下的kahadb的文件夹下,我们修改下它的存储路径,将数据存储到mysql数据库里面。

第一步:加入相关jar包

       1、首先下载mysql驱动mysql-connector-java,我这里选择的版本是mysql-connector-java-8.0.18版本,如下所示:

       2、将下载完成的jar包,放到activemqlib目录下,如下所示:

第二步:修改配置文件 

        1、修改conf文件夹下的activemq.xml文件

       2、找到<persistenceAdapter>标签,注释掉默认的kahaDB配置,加入mysql的配置如下: 

<persistenceAdapter>
    <!--<kahaDB directory="${activemq.data}/kahadb"/>-->
    <jdbcPersistenceAdapter dataSource="#mysql-mq" createTablesOnStartup="true" />
</persistenceAdapter>

       3、在文件最下面添加mysql具体配置:这里注意一下数据库连接中的参数&需要使用转义字符:&amp; 

<bean id="mysql-mq" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
	<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
    
        <!--如果是mysql5.7版本就写这个jdbc路径的url路径-->
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/activemq?characterEncoding=utf-8&amp;serverTimezone=Asia/Shanghai" />
        <!--如果是mysql8.0的版本就写这个jdbc的url路径-->
	<property name="url" value="jdbc:mysql://127.0.0.1:3306/activemq?useSSL=false&amp;serverTimezone=UTC" />
	<property name="username" value="root"/>
	<property name="password" value="Rfid123456"/>
	<property name="initialSize" value="5"/>
	<property name="maxTotal" value="100"/>
	<property name="maxIdle" value="30"/>
	<property name="maxWaitMillis" value="10000"/>
	<property name="minIdle" value="1"/>
</bean>

       4、在mysql数据库中创建数据库activemq

第三步:启动activemq服务

       1、进入到文件夹下启动服务

       2、查看数据库中是否生成了activemq_acks、activemq_lock、activemq_msgs这三张表

activemq_msgs:消息表,queuetopic都存储在里面

       ID:自增主键;

       CONTAINER:所属类型以及所在队列或者主题;

        MSGID_PROD:生产者ID;

       MSGID_SEQ:在同一批次消息中的序号; 

       EXPIRATION:过期时间(0表示永不过期);

       MSG:序列化之后的消息;

       PRIORITY:优先级; 

        XID:这个不知道。

activemq_acks:存储持久订阅的信息和最后一个持久订阅接收的消息ID

        CONTAINER:与上面消息表的CONTAINER一样;  

        SUB_DEST:子目的地,与CONTAINER一样; 

        CLIENT_ID:链接的客户端ID,也就是我们程序:connection.setClientID("cc1"); 产生的ID

        SUB_NAME:持久订阅者的名称.也就是我们程序: session.createDurableSubscriber(destination, "C11"); 产生的名称

        SELECTOR:消息选择器,consumer可以选择自己想要的 

        LAST_ACKED_ID:最后一次确认ID,这个字段存的该该订阅者最后一次收到的消息的ID 

        XID:这个不知道。

activemq_lock:锁定表,用来确保在某一时刻,只能有一个ActiveMQ broker实例来访问数据库

        XID:自增的主键

        TIME:日期

        BROKER_NAME:占用数据库的brokerName

        3、如果安装过程中出现任何问题,都可以在下面这个位置查看错误的日志信息

 

       4、此时,我们启动生产者,但是不启动消费者,我们发现未消费的数据都存在了以下的位置

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot集成activemq持久化mysql 的相关文章

  • 正确关闭 ActiveMQ 和 Spring DefaultMessageListenerContainer

    当 Tomcat 管理器发出 停止 命令时 我们的系统不会关闭 我已确定与ActiveMQ Spring有关 我什至已经弄清楚如何让它关闭 但是我的解决方案是一个黑客 至少我希望这不是 正确 的方法 我想知道关闭 ActiveMQ 的正确方
  • 我什么时候应该关闭在无状态会话 bean 中创建的 JMS 连接?

    我有一个关于何时关闭在无状态会话 Bean EJB 中创建的连接的一般性问题 连接到 ActiveMQ 并且它们是在 bean 的构造函数中创建的 然后在方法中使用该连接 我想知道关闭该连接的适当时间 地点是什么时候 有一个单独的方法来关闭
  • 高性能、可扩展、支持二次开发的企业电子招标采购系统源码

    在数字化时代 企业需要借助先进的数字化技术来提高工程管理效率和质量 招投标管理系统作为企业内部业务项目管理的重要应用平台 涵盖了门户管理 立项管理 采购项目管理 采购公告管理 考核管理 报表管理 评审管理 企业管理 采购管理和系统管理等多个
  • JDK21 和 ActiveMQ 6.0.1

    ActiveMQ 安装和测试 一 ActiveMQ 下载 二 ActiveMQ 安装 三 代码测试 1 Pom 依赖 2 YML配置 3 启动类 4 MQ 配置类 5 MQ 消费者
  • 使用Java版工程行业管理系统源码,提升工程项目的综合管理能力

    工程项目管理涉及众多环节和角色 如何实现高效协同和信息共享是关键 本文将介绍一个采用先进技术框架的Java版工程项目管理系统 该系统支持前后端分离 功能全面 可满足不同角色的需求 从项目进度图表到施工地图 再到系统管理和统计报表 该系统为工
  • 企业电子招投标系统源码之电子招投标系统建设的重点和未来趋势

    功能描述 1 门户管理 所有用户可在门户页面查看所有的公告信息及相关的通知信息 主要板块包含 招标公告 非招标公告 系统通知 政策法规 2 立项管理 企业用户可对需要采购的项目进行立项申请 并提交审批 查看所有的立项信息 主要功能包含 招标
  • 基于springboot+vue实现汽车改装方案网站演示【附项目源码+论文说明】

    基于springboot vue实现汽车改装方案网站演示 摘要 本文主要讲述了基于SpringBoot MySql开发技术开发的汽车改装方案网站的设计与实现 这里的汽车改装方案网站是通过一个平台使所有的汽车爱好者们可以不用出门就可以体验到专
  • 基于springboot+vue实现实企业任务管理追踪系统【附项目源码+论文说明】

    基于springboot vue实现实企业任务管理追踪系统 摘要 随着时代的进步 人们现在通过计算机线上化的办公方式成功的提升了日常办公的效率 通过线上办公能够有效地提升信息传递的效率 可以快速的完成任务的流程处理 邮件的发送等等功能 并且
  • 计算机Java项目|springboot校园台球厅人员与设备管理系统

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • 2024史上最全Java面试八股文(带全部答案)

    今天要谈的主题是关于求职 求职是在每个技术人员的生涯中都要经历多次 对于我们大部分人而言 在进入自己心仪的公司之前少不了准备工作 有一份全面细致 面试题 将帮助我们减少许多麻烦 在跳槽季来临之前 特地做这个系列的文章 一方面帮助自己巩固下基
  • ActiveMQ:一条待处理消息,但队列为空

    我在使用 ActiveMQ 时遇到了一个奇怪的问题 我有一个队列 似乎有待处理的消息 但是当我打开队列时 没有消息 这里有什么问题吗 真的有消息待处理吗 我怎样才能取回消息或至少看到内容 Screenshot of the pending
  • logback配置xml日志文件(保姆级教程)

    前言 这是个啥 这就是个控制日志输出格式 控制日志输出位置 控制日志输出环境 控制日志输出级别的玩意 控制忽略输出的日志就这些功能 没有什么很复杂的东西 废话不说多了 配置介绍 configuration
  • Spring Boot引起的“堆外内存泄漏”排查及经验总结

    Spring Boot引起的 堆外内存泄漏 排查及经验总结 背景 为了更好地实现对项目的管理 我们将组内一个项目迁移到MDP框架 基于Spring Boot 随后我们就发现系统会频繁报出Swap区域使用量过高的异常 笔者被叫去帮忙查看原因
  • 如何使用 Spring WebSocket 向 STOMP 客户端发送错误消息?

    我正在使用 Spring 的 STOMP over WebSocket 实现和功能齐全的 ActiveMQ 代理 当用户SUBSCRIBE对于一个主题 有一些权限逻辑 必须经过一些权限逻辑 才能成功订阅 我正在使用 ChannelInter
  • 网络故障后重新连接ActiveMQ服务器

    我们正在使用 ActiveMQ 5 8 0 通过 TCP 将 Java 应用程序连接到另一个系统 请求 回复 与对临时队列的回复同步 与我们的客户端及其相应部分配合良好 但我们不确定如何处理 异常 情况 例如短暂的网络故障 我们正在测试应用
  • ActiveMQ JMS XA Atomikos - 事务未启动错误

    情况是我们想要使用 XA 事务来协调 ActiveMQ 和 Hibernate Sql Server 2008 之间的活动 我们正在使用 春季3 0 5 休眠3 6 2 ActiveMQ 5 5 0 原子3 7 我们看到与尚未启动的事务相关
  • 如何从 MQTT 生产并在 ActiveMQ 中作为 MQTT 和 JMS 消费

    我有一个设置 其中消息作为 MQTT 生成到 ActiveMQ 我有两个消费者 一个作为 JMS 另一个作为 MQTT 当我将消息作为 JMS 消息发布到主题 foo 时 我在 JMS 和 MQTT 消费者处都收到消息 但是当我在同一主题上
  • 主题消息可以在activemq中持久化吗?

    我对 JMS 和 ESB 非常陌生 我使用 activemq 作为 JMS 使用 mule 作为 ESB 当我将消息从一个队列转发到另一个队列时 jms 连接器参数 persistentDelivery 为 true 它会在 activem
  • 如何使用 NMS 和 C# 识别 ActiveMQ 断开连接

    我有一个 C 发布者和订阅者 它们使用 ActiveMQ 和 NMS 相互通信 一切工作正常 除了我无法知道 ActiveMQ 何时出现故障 这对于消费者来说尤其不利 他们停止获取数据 但除了数据停止显示之外 不会引发任何错误或事件 有没有
  • ActiveMQ 内存消耗通过屋顶(页面文件)...该怎么办?

    我们使用的是旧版本的 ActiveMQ 5 3 2 请参阅 ActiveMQ可靠吗 https stackoverflow com questions 4303610 is activemq reliable 我们取消了持久性 因为我们需要

随机推荐

  • java-ipfs-api.jar的食用方法

    引入java ipfs api jar 从仓库引入 在pom xml中添加仓库
  • 微信小程序实现车牌号键盘

  • Adobe软件还行吗?

    前段时间 美国政府 准备通过诉讼阻止Adobe去年公布的 以200亿美元收购Figma的交易 理由是此举属于反竞争行为 新闻一出 Adobe股价旋即下跌 但跌幅并不像2022年刚公布这笔交易时那么迅猛 看起来 相较于收购成功 投资者们反而希
  • gzip模块配置指令

    1 gzip指令 该指令用于开启或者关闭gzip功能 语法 gzip on off 默认值 gzip off 位置 http server location 注意只有该指令为打开状态 下面的指令才有效果 http gzip on 2 gzi
  • Python学习:random模块下的choices()函数详解

    1 random choice seq 函数 从非空序列中随机选取一个数据并返回 该序列可以是list tuple str set 举例 import random print random choice choice 结果 choice其
  • IP包头&ARP协议笔记

    一 IP包头分析 1 帧中的IP包头 从版本到可选项 其中2为帧头 注 1 IP包头最小长度 20字节 即可选项以前部分 IP包头长度是可变的 2 可选项最长可以是40个字节 故IP包头最长可以是60个字节 1 版本 4 说明是IPv4 2
  • iOS线程初探(四) GCD 和 NSOperation 小结

    参考资料 关于iOS多线程 看我就够了 GCD 在GCD中 有两个概念很重要 那就是任务和队列 任务 其实就是你需要做的事情 一个Block而已 任务有两种执行方式 同步执行和异步执行 同步执行 会阻塞当前线程 直至该任务执行完成后当前线程
  • 从零开始学Python(四)推导式、多参数解析、装饰器

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于Python的相关操作吧 目录 Welcome Huihui s Code World 一 推导式 1 列表推导式 2 集合推导式 3 字典推导式 二 多参数
  • Python的高级特征你知多少?来对比看看

    https www toutiao com a6682591624012235272 2019 04 22 13 48 29 Python 多好用不用多说 大家看看自己用的语言就知道了 但是 Python 隐藏的高级功能你都 get 了吗
  • 解决:Java source1.5不支持diamond运算符,请使用source 7或更高版本以启用diamond运算符

    Maven默认用的是JDK1 5去编译 diamond运算符 指的是JDK1 7的一个新特性 List
  • python量化 双均线策略(金叉死叉)

    小策略 策略逻辑是在金叉时候买进 死叉时候卖出 所谓金叉死叉是两条均线的交叉 当短期均线上穿长期均线为金叉 反之为死叉 1 jqdata 网页端执行 下面是策略代码及结构 导入函数库 from jqdata import 初始化函数 def
  • Linux 系统实现 SSH 连接的 3 种 方式

    Linux 系统实现 SSH 连接的 3 种 方式 密码登入 公钥登入 私钥登入 登入前提 服务端安装好 ssh 服务 openssh server 客户端与服务器端均要拥有 ssh key 可以使用命令 ls ssh 来查看是否拥有 id
  • P1073-最优贸易

    1 include
  • Kotlin集成Arouter

    原文博客 使用场景 为了软件间的解耦操作 确保模块之间Activity的相互跳转不受影响 故引用阿里巴巴的Arouter 但官网上还没有针对Kotlin的集成说明 故在此记录下来 如何使用 gradle配置 目录配置 常量类配置 在Appl
  • python:pyinstaller打包后,运行exe提示缺失包文件

    场景 使用python写的一个ui工具 用于连接并操作impala 但在打包后 报错提示 FileNotFoundError Errno 2 No such file or directory D code python excel2csv
  • 释放为硬件保留的内存(16+16内存条原本只显示14G解决)

    达成 双内存32G 前面几个方法都试过 准备等几天不用电脑时 打算试试终极方法 内存要升级主板Bios 但有些说法会可能导致开不了机变砖头了 就放下来 没想到 正常使用 开机关机 隔一天 打开电脑属性一看 自然成功 释放为硬件保留的内存 插
  • web端hadoop hdfs管理界面,上传文件失败

    网页端hadoop管理界面 上传文件失败 但从后台put文件到HDFS 查看前端页面报错 地址解析错误 查看host文件发现ip地址和主机名对应错误 修改host后恢复正常
  • keil更改黑色背景颜色

    1 先将keil安装目录下UV4中global文件复制出来留作备用 然后用记事本打开安装目录下的global文件 2 将下面的内容全部替换global里的内容 然后保存 properties for all file types inden
  • STM32 UART DMA 接收数据 只能接收到串口数据的最后一个字节。

    环境 win10 stm32cubemx keil5 使用HAL库 现象 PC侧 向单片机发送数据 发现单片机接收数据时 只能接收到串口数据的最后一个字节 并且接收到的数据长度是正确的 数据长度正确 数据错误 处理 网上搜索到一个结果 ht
  • springboot集成activemq持久化mysql

    背景 activemq的数据默认是持久化在data文件夹下的kahadb的文件夹下 我们修改下它的存储路径 将数据存储到mysql数据库里面 第一步 加入相关jar包 1 首先下载mysql驱动mysql connector java 我这