Commit 10dad931 by 罗志长

fix: mqtt重连优化

parent 5323cb2a
......@@ -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);
}
}
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment