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
72744f3e
authored
Jan 09, 2024
by
罗志长
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
fix: mqtt连接
parent
94bf8942
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
36 additions
and
29 deletions
server-common/src/main/java/com/makeit/module/iot/util/HeaderUtils.java
server-common/src/main/java/com/makeit/module/iot/vo/HeaderInfo.java
server-web/src/main/java/com/makeit/mqtt/MqttPushClient.java
server-web/src/main/java/com/makeit/mqtt/PushCallback.java
server-common/src/main/java/com/makeit/module/iot/util/HeaderUtils.java
View file @
72744f3e
...
...
@@ -70,7 +70,7 @@ public class HeaderUtils {
headers
.
put
(
"X-Client-Id"
,
clientId
);
headers
.
put
(
"X-Timestamp"
,
xTimestamp
);
log
.
info
(
"请求头信息:{}"
,
Hex
.
encodeHexString
(
digest
.
digest
())
+
"|"
+
clientId
+
"|"
+
xTimestamp
);
//
log.info("请求头信息:{}",Hex.encodeHexString(digest.digest()) +"|"+clientId+"|"+ xTimestamp);
return
headers
;
}
...
...
server-common/src/main/java/com/makeit/module/iot/vo/HeaderInfo.java
View file @
72744f3e
package
com
.
makeit
.
module
.
iot
.
vo
;
import
com.google.common.collect.Lists
;
import
lombok.Data
;
import
java.util.List
;
...
...
@@ -13,7 +14,7 @@ public class HeaderInfo {
private
String
_uid
;
private
String
creatorId
;
private
String
traceparent
;
private
List
<
Bind
>
bindings
;
private
List
<
Bind
>
bindings
=
Lists
.
newArrayList
()
;
@Data
...
...
server-web/src/main/java/com/makeit/mqtt/MqttPushClient.java
View file @
72744f3e
...
...
@@ -47,6 +47,7 @@ public class MqttPushClient {
options
.
setPassword
(
password
.
toCharArray
());
options
.
setConnectionTimeout
(
timeout
);
options
.
setKeepAliveInterval
(
keepalive
);
options
.
setAutomaticReconnect
(
true
);
MqttPushClient
.
setMqttClient
(
client
);
if
(!
client
.
isConnected
())
{
try
{
...
...
server-web/src/main/java/com/makeit/mqtt/PushCallback.java
View file @
72744f3e
...
...
@@ -98,41 +98,46 @@ public class PushCallback implements MqttCallbackExtended {
@Override
public
void
connectionLost
(
Throwable
cause
)
{
logger
.
info
(
"连接断开,可以重连"
);
if
(
client
==
null
||
!
client
.
isConnected
())
{
mqttConfig
.
getMqttPushClient
();
logger
.
info
(
"连接断开,可以重连"
,
cause
);
int
times
=
1
;
while
(
client
==
null
||
!
client
.
isConnected
())
{
if
(
times
>
5
)
{
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
();
}
}
// int times = 1;
// while (client == null || !client.isConnected()) {
// 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
public
void
messageArrived
(
String
topic
,
MqttMessage
message
)
throws
Exception
{
// 收到消息并设置返回字符串格式
String
payload
=
new
String
(
message
.
getPayload
(),
"UTF-8"
);
public
void
messageArrived
(
String
topic
,
MqttMessage
message
)
{
try
{
// 收到消息并设置返回字符串格式
String
payload
=
new
String
(
message
.
getPayload
(),
"UTF-8"
);
//logger.info("接收消息内容:payload格式:{}", payload);
//logger.info("接收消息内容:payload格式:{}", payload);
// 解析数据
DeviceInfo
device
=
JSON
.
parseObject
(
payload
,
DeviceInfo
.
class
);
// 解析数据
DeviceInfo
device
=
JSON
.
parseObject
(
payload
,
DeviceInfo
.
class
);
syncProperties
(
device
);
syncProperties
(
device
);
checkAlarm
(
device
);
checkAlarm
(
device
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"消息接收处理异常"
,
e
);
}
}
@Override
...
...
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