Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mica
mica-mqtt
提交
42308ba9
mica-mqtt
项目概览
mica
/
mica-mqtt
通知
71
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
mica-mqtt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
42308ba9
编写于
3月 04, 2023
作者:
如梦技术
🐛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
✨
添加迁移说明
上级
6d144e5f
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
89 addition
and
0 deletion
+89
-0
README.md
README.md
+2
-0
docs/update.md
docs/update.md
+70
-0
starter/mica-mqtt-client-spring-boot-starter/README.md
starter/mica-mqtt-client-spring-boot-starter/README.md
+9
-0
starter/mica-mqtt-server-spring-boot-starter/README.md
starter/mica-mqtt-server-spring-boot-starter/README.md
+8
-0
未找到文件。
README.md
浏览文件 @
42308ba9
...
...
@@ -13,6 +13,8 @@
`mica-mqtt`
**低延迟**
、
**高性能**
的
`mqtt`
物联网组件。更多使用方式详见:
**mica-mqtt-example**
模块。
[
**迁移到 mica-mqtt 2.1.0**
](
docs/update.md
)
## 🍱 使用场景
-
物联网(云端 mqtt broker)
...
...
docs/update.md
0 → 100644
浏览文件 @
42308ba9
# 升级指南
## 迁移到 mica-mqtt 2.1.0
-
`ByteBufferUtil`
由
`net.dreamlu.iot.mqtt.codec.ByteBufferUtil`
移动到了
`org.tio.utils.buffer.ByteBufferUtil`
。
-
`HexUtil`
由
`net.dreamlu.iot.mqtt.core.util.HexUtil`
移动到了
`org.tio.utils.mica.HexUtils`
。
### 1. 客户端
#### 1.1 订阅回调接口调整
注意:
`mica-mqtt-client-spring-boot-starter`
使用注解订阅可以直升。
`IMqttClientMessageListener#onMessage(ChannelContext context, String topic, MqttPublishMessage message, ByteBuffer payload)`
方法统一添加
`context`
、
`message`
参数。
订阅系列方法需要调整:
```
java
// 消息订阅,同类方法 subxxx
client
.
subQos0
(
"/test/#"
,
(
context
,
topic
,
message
,
payload
)
->
{
logger
.
info
(
topic
+
'\t'
+
ByteBufferUtil
.
toString
(
payload
));
});
```
#### 1.2 SSL 双向认证支持
```
yaml
mica
:
ssl
:
enabled
:
false
# 是否开启 ssl 认证,2.1.0 开始支持双向认证
keystore-path
:
# 可选参数:ssl 双向认证 keystore 目录,支持 classpath:/ 路径。
keystore-pass
:
# 可选参数:ssl 双向认证 keystore 密码
truststore-path
:
# 可选参数:ssl 双向认证 truststore 目录,支持 classpath:/ 路径。
truststore-pass
:
# 可选参数:ssl 双向认证 truststore 密码
```
注意: ssl 存在三种情况
| 服务端开启ssl | 客户端 |
| ---------------------------------------- | --------------------------------------------- |
| ClientAuth 为 NONE(不需要客户端验证) | 仅仅需要开启 ssl 即可不用配置证书 |
| ClientAuth 为 OPTIONAL(与客户端协商) | 需开启 ssl 并且配置 truststore 证书 |
| ClientAuth 为 REQUIRE (必须的客户端验证) | 需开启 ssl 并且配置 truststore、 keystore证书 |
### 2. 服务端
#### 2.1 IMqttMessageListener 调整
`IMqttMessageListener`
onMessage 参数也做了调整,添加了 topic、qoS,message 改为了原始 MqttPublishMessage,方便自行获取 mqtt5.x 的属性。
```
java
/**
* 监听到消息
*
* @param context ChannelContext
* @param clientId clientId
* @param topic topic
* @param qoS MqttQoS
* @param message Message
*/
void
onMessage
(
ChannelContext
context
,
String
clientId
,
String
topic
,
MqttQoS
qoS
,
MqttPublishMessage
message
);
```
#### 2.2 ssl 双向认证支持
```
yaml
mica
:
ssl
:
# mqtt tcp ssl 认证
enabled
:
false
# 是否开启 ssl 认证,2.1.0 开始支持双向认证
keystore-path
:
# 必须参数:ssl keystore 目录,支持 classpath:/ 路径。
keystore-pass
:
# 必选参数:ssl keystore 密码
truststore-path
:
# 可选参数:ssl 双向认证 truststore 目录,支持 classpath:/ 路径。
truststore-pass
:
# 可选参数:ssl 双向认证 truststore 密码
client-auth
:
none
# 是否需要客户端认证(双向认证),默认:NONE(不需要)
```
\ No newline at end of file
starter/mica-mqtt-client-spring-boot-starter/README.md
浏览文件 @
42308ba9
...
...
@@ -46,6 +46,15 @@ mqtt:
truststore-pass
:
# 可选参数:ssl 双向认证 truststore 密码
```
注意:
**ssl**
存在三种情况
| 服务端开启ssl | 客户端 |
| ---------------------------------------- | --------------------------------------------- |
| ClientAuth 为 NONE(不需要客户端验证) | 仅仅需要开启 ssl 即可不用配置证书 |
| ClientAuth 为 OPTIONAL(与客户端协商) | 需开启 ssl 并且配置 truststore 证书 |
| ClientAuth 为 REQUIRE (必须的客户端验证) | 需开启 ssl 并且配置 truststore、 keystore证书 |
### 2.2 可实现接口(注册成 Spring Bean 即可)
| 接口 | 是否必须 | 说明 |
...
...
starter/mica-mqtt-server-spring-boot-starter/README.md
浏览文件 @
42308ba9
...
...
@@ -53,6 +53,14 @@ mqtt:
client-auth
:
none
# 是否需要客户端认证(双向认证),默认:NONE(不需要)
```
注意:
**ssl**
存在三种情况
| 服务端开启ssl | 客户端 |
| ---------------------------------------- | --------------------------------------------- |
| ClientAuth 为 NONE(不需要客户端验证) | 仅仅需要开启 ssl 即可不用配置证书 |
| ClientAuth 为 OPTIONAL(与客户端协商) | 需开启 ssl 并且配置 truststore 证书 |
| ClientAuth 为 REQUIRE (必须的客户端验证) | 需开启 ssl 并且配置 truststore、 keystore证书 |
### 2.2 可实现接口(注册成 Spring Bean 即可)
| 接口 | 是否必须 | 说明 |
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录