目录
一 传输协议简介
1.1 是什么
1.2 协议分类
TCP
默认
NIO
等
小结
二 NIO用法
参考:http://activemq.apache.org/configuring-transports
2.1 修改配置文件
默认是BIO
一个端口支持多种协议
URI格式头以“nio”开头,表示这个端口使用以TCP为基础
的NIO网络IO模型
。但是这样的设置方式,只能使这个端口支持openwire协议
。
那么我们怎么即让这个端口支持NIO网络io模型
,又让它支持多个协议
呢?
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的数据库
三张表的说明
-
activemq_msgs
-
activemq_acks
-
activemq_lock
5.3 坑
六 JDBC Message store with ActiveMQ Journal
6.1 作用
又多了一层
6.2 配置