Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mica
mica-mqtt
提交
83eafd5e
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 搜索 >>
提交
83eafd5e
编写于
11月 27, 2021
作者:
如梦技术
🐛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
✨
升级 mica 2.5.7,简化代码。
上级
b8033213
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
6 addition
and
26 deletion
+6
-26
mica-mqtt-broker/src/main/java/net/dreamlu/iot/mqtt/broker/cluster/RedisMqttMessageStore.java
...reamlu/iot/mqtt/broker/cluster/RedisMqttMessageStore.java
+4
-24
pom.xml
pom.xml
+2
-2
未找到文件。
mica-mqtt-broker/src/main/java/net/dreamlu/iot/mqtt/broker/cluster/RedisMqttMessageStore.java
浏览文件 @
83eafd5e
...
...
@@ -24,9 +24,6 @@ import net.dreamlu.iot.mqtt.core.server.serializer.IMessageSerializer;
import
net.dreamlu.iot.mqtt.core.server.store.IMqttMessageStore
;
import
net.dreamlu.iot.mqtt.core.util.MqttTopicUtil
;
import
net.dreamlu.mica.redis.cache.MicaRedisCache
;
import
org.springframework.data.redis.core.RedisCallback
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.RedisSerializer
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -44,8 +41,7 @@ public class RedisMqttMessageStore implements IMqttMessageStore {
@Override
public
boolean
addWillMessage
(
String
clientId
,
Message
message
)
{
byte
[]
value
=
messageSerializer
.
serialize
(
message
);
redis
((
redis
)
->
redis
.
set
(
keySerialize
(
RedisKeys
.
MESSAGE_STORE_WILL
,
clientId
),
value
));
redisCache
.
set
(
RedisKeys
.
MESSAGE_STORE_WILL
.
getKey
(
clientId
),
message
,
messageSerializer:
:
serialize
);
return
true
;
}
...
...
@@ -57,14 +53,12 @@ public class RedisMqttMessageStore implements IMqttMessageStore {
@Override
public
Message
getWillMessage
(
String
clientId
)
{
byte
[]
value
=
redis
((
redis
)
->
redis
.
get
(
keySerialize
(
RedisKeys
.
MESSAGE_STORE_WILL
,
clientId
)));
return
messageSerializer
.
deserialize
(
value
);
return
redisCache
.
get
(
RedisKeys
.
MESSAGE_STORE_WILL
.
getKey
(
clientId
),
messageSerializer:
:
deserialize
);
}
@Override
public
boolean
addRetainMessage
(
String
topic
,
Message
message
)
{
byte
[]
value
=
messageSerializer
.
serialize
(
message
);
redis
((
redis
)
->
redis
.
set
(
keySerialize
(
RedisKeys
.
MESSAGE_STORE_RETAIN
,
topic
),
value
));
redisCache
.
set
(
RedisKeys
.
MESSAGE_STORE_RETAIN
.
getKey
(
topic
),
message
,
messageSerializer:
:
serialize
);
return
true
;
}
...
...
@@ -85,8 +79,7 @@ public class RedisMqttMessageStore implements IMqttMessageStore {
redisCache
.
scan
(
redisKeyPattern
,
(
key
)
->
{
String
keySuffix
=
key
.
substring
(
keyPrefixLength
);
if
(
topicPattern
.
matcher
(
keySuffix
).
matches
())
{
byte
[]
value
=
redis
((
redis
)
->
redis
.
get
(
keySerialize
(
key
)));
Message
message
=
messageSerializer
.
deserialize
(
value
);
Message
message
=
redisCache
.
get
(
key
,
messageSerializer:
:
deserialize
);
if
(
message
!=
null
)
{
retainMessageList
.
add
(
message
);
}
...
...
@@ -95,17 +88,4 @@ public class RedisMqttMessageStore implements IMqttMessageStore {
return
retainMessageList
;
}
private
byte
[]
keySerialize
(
String
redisKey
)
{
return
RedisSerializer
.
string
().
serialize
(
redisKey
);
}
private
byte
[]
keySerialize
(
RedisKeys
suffix
,
String
clientId
)
{
return
RedisSerializer
.
string
().
serialize
(
suffix
.
getKey
(
clientId
));
}
private
<
T
>
T
redis
(
RedisCallback
<
T
>
callback
)
{
RedisTemplate
<
String
,
Object
>
redisTemplate
=
redisCache
.
getRedisTemplate
();
return
redisTemplate
.
execute
(
callback
);
}
}
pom.xml
浏览文件 @
83eafd5e
...
...
@@ -20,8 +20,8 @@
<maven-flatten.version>
1.2.2
</maven-flatten.version>
<!-- tio version -->
<tio.version>
3.7.5.v20211028-RELEASE
</tio.version>
<spring.boot.version>
2.5.
6
</spring.boot.version>
<mica.version>
2.5.
6
</mica.version>
<spring.boot.version>
2.5.
7
</spring.boot.version>
<mica.version>
2.5.
7
</mica.version>
</properties>
<modules>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录