ActiveMQ笔记(五)传输协议和持久化机制

一 传输协议简介

1.1 是什么

在这里插入图片描述
在这里插入图片描述

1.2 协议分类

TCP

默认
在这里插入图片描述

NIO

在这里插入图片描述

在这里插入图片描述

小结

在这里插入图片描述

二 NIO用法

参考:http://activemq.apache.org/configuring-transports

2.1 修改配置文件

默认是BIO
在这里插入图片描述

一个端口支持多种协议

URI格式头以“nio”开头,表示这个端口使用以TCP为基础的NIO网络IO模型。但是这样的设置方式,只能使这个端口支持openwire协议

那么我们怎么即让这个端口支持NIO网络io模型,又让它支持多个协议呢?

扫描二维码关注公众号,回复: 8816328 查看本文章

auto关键字

在这里插入图片描述

使用“+”符号来为端口设置多种特性

在这里插入图片描述

三 持久化简介

3.1 什么是持久化

一句话,MQ服务器宕机,消息不会丢失的机制
在这里插入图片描述

3.2 有什么持久化方式

ActiveMQ Message Store (了解)

基于文件的存储方式,是以前的默认消息存储,现在不用了

KahaDB 消息存储(默认)

迷你版的文件数据库

JDBC 消息存储

消息基于JDBC存储的

LevelDB消息存储(了解)

在这里插入图片描述

JDBC Message store with ActiveMQ Journal

四 KahaDB

基于日志文件,从ActiveMQ5.4开始默认的持久化插件;类似于redis的aof持久化,日志文件的方式记录操作

http://activemq.apache.org/kahadb

4.1 验证

在这里插入图片描述

4.2 事务日志

在这里插入图片描述

4.3 存储原理

kahadb目录下只有4类文件和一个lock

db_x.log

在这里插入图片描述
删除或者归档

索引/空闲页/恢复/锁

在这里插入图片描述

五 JDBC

在这里插入图片描述

5.1 准备工作

.1. 添加mysql数据库的驱动包到lib文件夹
在这里插入图片描述
2. jdbcPersistanceAdapter配置
注意建表的配置,默认为true,即每次重启都会重新建表
在这里插入图片描述
在这里插入图片描述
3. 数据库连接池配置
可以使用其他的数据库连接池,记得加入jar包(默认自带dbcp)
在这里插入图片描述

5.2 建库建表说明

建一个名为activemq的数据库

三张表的说明

  1. activemq_msgs
    在这里插入图片描述
    在这里插入图片描述

  2. activemq_acks
    在这里插入图片描述
    在这里插入图片描述

  3. activemq_lock
    在这里插入图片描述

5.3 坑

在这里插入图片描述

六 JDBC Message store with ActiveMQ Journal

6.1 作用

又多了一层
在这里插入图片描述

6.2 配置

在这里插入图片描述
在这里插入图片描述

七 小结

在这里插入图片描述

发布了82 篇原创文章 · 获赞 1 · 访问量 1951

猜你喜欢

转载自blog.csdn.net/m0_38060977/article/details/103755125