Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mica
mica-mqtt
提交
46a2d020
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,发现更多精彩内容 >>
提交
46a2d020
编写于
4月 16, 2022
作者:
如梦技术
🐛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
✨
mica-mqtt server、client 添加 `tioConfigCustomize` 方法,方便更大程度的自定义 TioConfig。
上级
c28f2d24
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
32 addition
and
3 deletion
+32
-3
CHANGELOG.md
CHANGELOG.md
+2
-1
mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/client/MqttClientCreator.java
...a/net/dreamlu/iot/mqtt/core/client/MqttClientCreator.java
+15
-2
mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/MqttServerCreator.java
...a/net/dreamlu/iot/mqtt/core/server/MqttServerCreator.java
+15
-0
未找到文件。
CHANGELOG.md
浏览文件 @
46a2d020
...
...
@@ -2,7 +2,8 @@
## 发行版本
### v1.3.0 - 2022-04-23
:sparkles: mqtt-server 简化,默认多设备可以直接互相订阅和处理消息。
:sparkles: mica-mqtt mqtt-server 简化,默认多设备可以直接互相订阅和处理消息。
:sparkles: mica-mqtt server、client 添加
`tioConfigCustomize`
方法,方便更大程度的自定义 TioConfig。
:sparkles: 拆分 mica-mqtt-client-spring-boot-starter 和 mica-mqtt-server-spring-boot-starter gitee #I4OTC5
:sparkles: mica-mqtt-spring-boot-example client 添加重连动态更新 clientId、username、password 示例。
:sparkles: mica-mqtt server 添加根据踢出指定 clientId 的 http api 接口。
...
...
mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/client/MqttClientCreator.java
浏览文件 @
46a2d020
...
...
@@ -27,6 +27,7 @@ import org.tio.client.TioClient;
import
org.tio.client.intf.ClientAioHandler
;
import
org.tio.client.intf.ClientAioListener
;
import
org.tio.core.Node
;
import
org.tio.core.TioConfig
;
import
org.tio.core.ssl.SslConfig
;
import
org.tio.utils.hutool.StrUtil
;
import
org.tio.utils.thread.pool.DefaultThreadFactory
;
...
...
@@ -47,7 +48,6 @@ public final class MqttClientCreator {
* 默认的心跳超时
*/
public
static
final
int
DEFAULT_KEEP_ALIVE_SECS
=
60
;
/**
* 名称
*/
...
...
@@ -168,6 +168,10 @@ public final class MqttClientCreator {
* scheduledExecutor
*/
private
ScheduledThreadPoolExecutor
scheduledExecutor
;
/**
* TioConfig 自定义配置
*/
private
Consumer
<
TioConfig
>
tioConfigCustomize
;
public
String
getName
()
{
return
name
;
...
...
@@ -440,6 +444,11 @@ public final class MqttClientCreator {
return
this
;
}
public
MqttClientCreator
tioConfigCustomize
(
Consumer
<
TioConfig
>
tioConfigCustomize
)
{
this
.
tioConfigCustomize
=
tioConfigCustomize
;
return
this
;
}
public
MqttClient
connect
()
{
// 1. clientId 为空,生成默认的 clientId
if
(
StrUtil
.
isBlank
(
this
.
clientId
))
{
...
...
@@ -486,7 +495,11 @@ public final class MqttClientCreator {
tioConfig
.
setSslConfig
(
this
.
sslConfig
);
// 10. 是否开启监控
tioConfig
.
statOn
=
this
.
statEnable
;
// 11. tioClient
// 11. 自定义处理
if
(
this
.
tioConfigCustomize
!=
null
)
{
this
.
tioConfigCustomize
.
accept
(
tioConfig
);
}
// 12. tioClient
try
{
TioClient
tioClient
=
new
TioClient
(
tioConfig
);
tioClient
.
asynConnect
(
new
Node
(
this
.
ip
,
this
.
port
),
this
.
timeout
);
...
...
mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/server/MqttServerCreator.java
浏览文件 @
46a2d020
...
...
@@ -38,6 +38,7 @@ import net.dreamlu.iot.mqtt.core.server.support.DefaultMqttServerProcessor;
import
net.dreamlu.iot.mqtt.core.server.support.DefaultMqttServerUniqueIdServiceImpl
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.tio.core.TioConfig
;
import
org.tio.core.ssl.SslConfig
;
import
org.tio.core.stat.IpStatListener
;
import
org.tio.server.ServerTioConfig
;
...
...
@@ -51,6 +52,7 @@ import org.tio.utils.thread.pool.DefaultThreadFactory;
import
java.io.InputStream
;
import
java.lang.management.ManagementFactory
;
import
java.util.concurrent.ScheduledThreadPoolExecutor
;
import
java.util.function.Consumer
;
/**
* mqtt 服务端参数构造
...
...
@@ -182,6 +184,10 @@ public class MqttServerCreator {
* 是否开启监控,默认:false 不开启,节省内存
*/
private
boolean
statEnable
=
false
;
/**
* TioConfig 自定义配置
*/
private
Consumer
<
TioConfig
>
tioConfigCustomize
;
public
String
getName
()
{
return
name
;
...
...
@@ -475,6 +481,11 @@ public class MqttServerCreator {
return
this
;
}
public
MqttServerCreator
tioConfigCustomize
(
Consumer
<
TioConfig
>
tioConfigCustomize
)
{
this
.
tioConfigCustomize
=
tioConfigCustomize
;
return
this
;
}
public
MqttServer
build
()
{
// 默认的节点名称,用于集群
if
(
StrUtil
.
isBlank
(
this
.
nodeName
))
{
...
...
@@ -525,6 +536,10 @@ public class MqttServerCreator {
if
(
this
.
debug
)
{
tioConfig
.
debug
=
true
;
}
// 自定义处理
if
(
this
.
tioConfigCustomize
!=
null
)
{
this
.
tioConfigCustomize
.
accept
(
tioConfig
);
}
TioServer
tioServer
=
new
TioServer
(
tioConfig
);
// 7. 不校验版本号,社区版设置无效
tioServer
.
setCheckLastVersion
(
false
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录