Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
java胎教生
mica-mqtt
提交
53aada4a
mica-mqtt
项目概览
java胎教生
/
mica-mqtt
与 Fork 源项目一致
Fork自
mica / mica-mqtt
通知
5
Star
0
Fork
0
代码
文件
提交
分支
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 搜索 >>
提交
53aada4a
编写于
8月 10, 2021
作者:
浅梦2013
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
✨
完善 stater,添加遗嘱消息配置。
上级
b7086017
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
52 addition
and
1 deletion
+52
-1
mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/client/MqttWillMessage.java
...ava/net/dreamlu/iot/mqtt/core/client/MqttWillMessage.java
+4
-0
mica-mqtt-spring-boot-starter/src/main/java/net/dreamlu/iot/mqtt/spring/client/MqttClientConfiguration.java
...eamlu/iot/mqtt/spring/client/MqttClientConfiguration.java
+16
-0
mica-mqtt-spring-boot-starter/src/main/java/net/dreamlu/iot/mqtt/spring/client/MqttClientProperties.java
.../dreamlu/iot/mqtt/spring/client/MqttClientProperties.java
+26
-0
mica-mqtt-spring-boot-starter/src/main/java/net/dreamlu/iot/mqtt/spring/server/MqttServerConfiguration.java
...eamlu/iot/mqtt/spring/server/MqttServerConfiguration.java
+2
-1
mica-mqtt-spring-boot-starter/src/main/java/net/dreamlu/iot/mqtt/spring/server/MqttServerProperties.java
.../dreamlu/iot/mqtt/spring/server/MqttServerProperties.java
+4
-0
未找到文件。
mica-mqtt-core/src/main/java/net/dreamlu/iot/mqtt/core/client/MqttWillMessage.java
浏览文件 @
53aada4a
...
...
@@ -114,6 +114,10 @@ public final class MqttWillMessage {
}
public
MqttWillMessage
build
()
{
// 遗嘱标志被设置为 false,遗嘱 QoS 也必须设置为 0。
if
(!
this
.
retain
&&
MqttQoS
.
AT_MOST_ONCE
!=
this
.
qos
)
{
throw
new
IllegalArgumentException
(
"WillMessage retain is false and QoS must be 0"
);
}
return
new
MqttWillMessage
(
this
.
topic
,
this
.
message
,
this
.
retain
,
this
.
qos
,
this
.
willProperties
);
}
}
...
...
mica-mqtt-spring-boot-starter/src/main/java/net/dreamlu/iot/mqtt/spring/client/MqttClientConfiguration.java
浏览文件 @
53aada4a
...
...
@@ -18,11 +18,15 @@ package net.dreamlu.iot.mqtt.spring.client;
import
net.dreamlu.iot.mqtt.core.client.MqttClient
;
import
net.dreamlu.iot.mqtt.core.client.MqttClientCreator
;
import
net.dreamlu.iot.mqtt.core.client.MqttWillMessage
;
import
org.springframework.beans.factory.ObjectProvider
;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnProperty
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.util.StringUtils
;
import
java.nio.charset.StandardCharsets
;
/**
* mqtt client 配置
...
...
@@ -62,6 +66,18 @@ public class MqttClientConfiguration {
if
(
reInterval1
!=
null
&&
reInterval1
>
0
)
{
clientCreator
.
reInterval
(
reInterval1
);
}
// 构造遗嘱消息
MqttClientProperties
.
WillMessage
willMessage
=
properties
.
getWillMessage
();
if
(
willMessage
!=
null
&&
StringUtils
.
hasText
(
willMessage
.
getTopic
()))
{
MqttWillMessage
.
Builder
builder
=
MqttWillMessage
.
builder
();
builder
.
topic
(
willMessage
.
getTopic
())
.
qos
(
willMessage
.
getQos
())
.
retain
(
willMessage
.
isRetain
());
if
(
StringUtils
.
hasText
(
willMessage
.
getMessage
()))
{
builder
.
message
(
willMessage
.
getMessage
().
getBytes
(
StandardCharsets
.
UTF_8
));
}
clientCreator
.
willMessage
(
builder
.
build
());
}
// 自定义处理
customizers
.
ifAvailable
((
customizer
)
->
customizer
.
customize
(
clientCreator
));
return
clientCreator
;
...
...
mica-mqtt-spring-boot-starter/src/main/java/net/dreamlu/iot/mqtt/spring/client/MqttClientProperties.java
浏览文件 @
53aada4a
...
...
@@ -20,6 +20,7 @@ import lombok.Getter;
import
lombok.Setter
;
import
net.dreamlu.iot.mqtt.codec.ByteBufferAllocator
;
import
net.dreamlu.iot.mqtt.codec.MqttConstant
;
import
net.dreamlu.iot.mqtt.codec.MqttQoS
;
import
net.dreamlu.iot.mqtt.codec.MqttVersion
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
...
...
@@ -101,5 +102,30 @@ public class MqttClientProperties {
* ByteBuffer Allocator,支持堆内存和堆外内存,默认为:堆内存
*/
private
ByteBufferAllocator
bufferAllocator
=
ByteBufferAllocator
.
HEAP
;
/**
* 遗嘱消息
*/
private
WillMessage
willMessage
;
@Getter
@Setter
public
static
class
WillMessage
{
/**
* 遗嘱消息 topic
*/
private
String
topic
;
/**
* 遗嘱消息 qos,默认: qos0
*/
private
MqttQoS
qos
=
MqttQoS
.
AT_MOST_ONCE
;
/**
* 遗嘱消息 payload
*/
private
String
message
;
/**
* 遗嘱消息保留标识符,默认: false
*/
private
boolean
retain
=
false
;
}
}
mica-mqtt-spring-boot-starter/src/main/java/net/dreamlu/iot/mqtt/spring/server/MqttServerConfiguration.java
浏览文件 @
53aada4a
...
...
@@ -78,7 +78,8 @@ public class MqttServerConfiguration {
.
heartbeatTimeout
(
properties
.
getHeartbeatTimeout
())
.
readBufferSize
(
properties
.
getReadBufferSize
())
.
maxBytesInMessage
(
properties
.
getMaxBytesInMessage
())
.
bufferAllocator
(
properties
.
getBufferAllocator
());
.
bufferAllocator
(
properties
.
getBufferAllocator
())
.
maxClientIdLength
(
properties
.
getMaxClientIdLength
());
if
(
properties
.
isDebug
())
{
serverCreator
.
debug
();
}
...
...
mica-mqtt-spring-boot-starter/src/main/java/net/dreamlu/iot/mqtt/spring/server/MqttServerProperties.java
浏览文件 @
53aada4a
...
...
@@ -72,6 +72,10 @@ public class MqttServerProperties {
* debug
*/
private
boolean
debug
=
false
;
/**
* mqtt 3.1 会校验此参数
*/
private
int
maxClientIdLength
=
MqttConstant
.
DEFAULT_MAX_CLIENT_ID_LENGTH
;
/**
* ssl 配置
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录