- 官网(这里的持久化和前面说的消息持久化是不同的,前面的消息持久化,事务签收都是说的MQ服务器本机,而这里的持久化说的是与本机相连的数据库的数据持久化,包括:kahadb,JDBC等)
- 为了保证高可用,消息不仅在本机MQ存储(持久化)一份,还要再数据库中持久化一份来保证高可用。
- http://activemq.apache.org/persistence
-
- 是什么
- 面试题
- 回忆redis持久化机制有几种
- 说明:一句话:MQ服务器down机了,消息不会丢失的机制
-
- 有那些
- AMQ Message store(了解)
- KahaDB 消息存储(默认)
- 基于日志的文件,从ActiveMQ5.4开始默认的持久化插件
- 官网
- 验证当前持久化使用的默认的存储机制
-
- 说明:http://activemq.apache.org/kahadb
-
- KahaDB的存储原理 (微型数据,有索引有数据,有备份,有锁机制)(kahaDB目录文件下包括:四个文件一把锁)
-
- JDBC消息存储
- LevelDDB消息存储(了解)基于文件存储的数据库
-
- JDBC Messae store with ActiveMQ Joural
- jdbc消息存储
-
MQ+MySQL
-
-
添加mysql数据库的驱动包到lib文件夹
-
-
jdbcPersistenceAdapter配置
-
-
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource= "#mysql-ds"/>
</persistenceAdapter>
-
-
-
数据库连接池配置
-
<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://172.29.64.266/activemq?relaxAutoCommit=true"/> <property name="username" value="root"/> <property name="password" value="123456"/> <property name="poolPreparedStatements" value="true"/> </bean>
-
建仓sQL和建表说明
-
代码运行验证
-
数据库情况
-
小总结
-
开发有坑
-
- JDBC Message store with ActiveMQ Journal
相关文章
- 01-14前后端分离编写简单注册登录案例,并实现session存储持久化
- 01-14理解JMS规范中消息的传输模式和消息持久化
- 01-14【可持久化0/1Trie】【P4735】最大异或和
- 01-14Scrapy框架的使用、环境的安装、创建工程、scrapy的数据解析、scrapy的持久化存储、执行流程、
- 01-14基于pipeline实现标题和URL持久化
- 01-14爬虫 scrapy 持久化存储 深度爬虫
- 01-14Scrapy之数据解析与数据持久化存储
- 01-14Kubernetes进阶实战读书笔记:持久化存储卷(pv和pvc生命周期)
- 01-14k8s存储持久化(nfs用例)
- 01-14K8S中如何使用Glusterfs做持久化存储?