Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
黄嘉阳
/
iot-platform-server
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
10dad931
authored
Jan 11, 2024
by
罗志长
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix: mqtt重连优化
parent
5323cb2a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
7 additions
and
23 deletions
server-web/src/main/java/com/makeit/mqtt/PushCallback.java
server-web/src/main/java/com/makeit/mqtt/PushCallback.java
View file @
10dad931
...
...
@@ -74,7 +74,8 @@ public class PushCallback implements MqttCallbackExtended {
@Autowired
private
MqttConfig
mqttConfig
;
private
static
MqttClient
client
;
@Autowired
private
MqttPushClient
mqttPushClient
;
@Autowired
private
AlarmConfigCacheUtil
alarmConfigCacheUtil
;
...
...
@@ -99,26 +100,6 @@ public class PushCallback implements MqttCallbackExtended {
@Override
public
void
connectionLost
(
Throwable
cause
)
{
logger
.
info
(
"连接断开,可以重连"
,
cause
);
int
times
=
1
;
while
(
client
==
null
||
!
client
.
isConnected
())
{
if
(
times
>
10
)
{
logger
.
info
(
"已达最大次数"
);
break
;
}
logger
.
info
(
"重新连接, 第"
+
(
times
++)
+
"次"
);
MqttPushClient
mqttPushClient
=
mqttConfig
.
getMqttPushClient
();
if
(
mqttPushClient
!=
null
&&
mqttPushClient
.
getMqttClient
()
!=
null
&&
mqttPushClient
.
getMqttClient
().
isConnected
())
{
logger
.
info
(
"重连成功"
);
break
;
}
logger
.
info
(
"重连失败"
);
// 每隔10秒重试一次
try
{
TimeUnit
.
SECONDS
.
sleep
(
10
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
}
}
@Override
...
...
@@ -146,8 +127,11 @@ public class PushCallback implements MqttCallbackExtended {
}
@Override
public
void
connectComplete
(
boolean
b
,
String
s
)
{
logger
.
info
(
"连接成功,连接方式:{}"
,
b
?
"重连"
:
"直连"
);
public
void
connectComplete
(
boolean
reconnect
,
String
serverURI
)
{
logger
.
info
(
"连接成功,连接方式:{}"
,
reconnect
?
"重连"
:
"直连"
);
if
(
reconnect
)
{
mqttPushClient
.
subscribe
(
mqttConfig
.
getDefaultTopic
(),
0
);
}
}
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment