Commit 10dad931 by 罗志长

fix: mqtt重连优化

parent 5323cb2a
...@@ -74,7 +74,8 @@ public class PushCallback implements MqttCallbackExtended { ...@@ -74,7 +74,8 @@ public class PushCallback implements MqttCallbackExtended {
@Autowired @Autowired
private MqttConfig mqttConfig; private MqttConfig mqttConfig;
private static MqttClient client; @Autowired
private MqttPushClient mqttPushClient;
@Autowired @Autowired
private AlarmConfigCacheUtil alarmConfigCacheUtil; private AlarmConfigCacheUtil alarmConfigCacheUtil;
...@@ -99,26 +100,6 @@ public class PushCallback implements MqttCallbackExtended { ...@@ -99,26 +100,6 @@ public class PushCallback implements MqttCallbackExtended {
@Override @Override
public void connectionLost(Throwable cause) { public void connectionLost(Throwable cause) {
logger.info("连接断开,可以重连", 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 @Override
...@@ -146,8 +127,11 @@ public class PushCallback implements MqttCallbackExtended { ...@@ -146,8 +127,11 @@ public class PushCallback implements MqttCallbackExtended {
} }
@Override @Override
public void connectComplete(boolean b, String s) { public void connectComplete(boolean reconnect, String serverURI) {
logger.info("连接成功,连接方式:{}", b ? "重连" : "直连"); 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