增加断开重连
This commit is contained in:
@@ -117,25 +117,34 @@ public class BusinessTasks {
|
|||||||
timestamp = Math.round(timestamp / 1000.0);
|
timestamp = Math.round(timestamp / 1000.0);
|
||||||
int count = heartbeatTask.incrementAndGet();
|
int count = heartbeatTask.incrementAndGet();
|
||||||
AssertLog.info("心跳定时任务执行 - 时间: {},task #{}", LocalDateTime.now(), count);
|
AssertLog.info("心跳定时任务执行 - 时间: {},task #{}", LocalDateTime.now(), count);
|
||||||
// 业务处理
|
boolean success = true;
|
||||||
// 判定客户端与服务端是否连接
|
int activeConnect = client.getActiveConnections();
|
||||||
if (Objects.nonNull(sessionManager.getSessionById(GlobalConfig.CLIENT_ID))) {
|
if(activeConnect == 0){
|
||||||
if(StringUtils.isBlank(GlobalConfig.DEVICE_SN)){
|
success = agentService.connection();
|
||||||
GlobalConfig.DEVICE_SN = AgentUtil.getDeviceSN();
|
}
|
||||||
|
if(success){
|
||||||
|
// 业务处理
|
||||||
|
// 判定客户端与服务端是否连接
|
||||||
|
if (Objects.nonNull(sessionManager.getSessionById(GlobalConfig.CLIENT_ID))) {
|
||||||
|
if(StringUtils.isBlank(GlobalConfig.DEVICE_SN)){
|
||||||
|
GlobalConfig.DEVICE_SN = AgentUtil.getDeviceSN();
|
||||||
|
}
|
||||||
|
// 发送心跳包
|
||||||
|
JSONObject object = new JSONObject();
|
||||||
|
object.put("clientId", GlobalConfig.CLIENT_ID);
|
||||||
|
object.put("logicalNode", agentService.getLogicalNode());
|
||||||
|
object.put("sn", GlobalConfig.DEVICE_SN);
|
||||||
|
object.put("strength","31");
|
||||||
|
object.put("name", properties.getName());
|
||||||
|
object.put("version", properties.getVersion());
|
||||||
|
object.put("startupTime", GlobalConfig.startupTime);
|
||||||
|
object.put("timestamp",timestamp);
|
||||||
|
Message message = Message.builder().clientId(GlobalConfig.CLIENT_ID).dataType(MsgEnum.心跳上报.getValue()).data(object.toString()).build();
|
||||||
|
sessionManager.writeAndFlush(sessionManager.getSessionById(GlobalConfig.CLIENT_ID).getChannel(), message);
|
||||||
|
AssertLog.info("发送心跳包={}",JSON.toJSONString(message));
|
||||||
}
|
}
|
||||||
// 发送心跳包
|
}else{
|
||||||
JSONObject object = new JSONObject();
|
AssertLog.info("心跳定时任务执行失败-连接断开");
|
||||||
object.put("clientId", GlobalConfig.CLIENT_ID);
|
|
||||||
object.put("logicalNode", agentService.getLogicalNode());
|
|
||||||
object.put("sn", GlobalConfig.DEVICE_SN);
|
|
||||||
object.put("strength","31");
|
|
||||||
object.put("name", properties.getName());
|
|
||||||
object.put("version", properties.getVersion());
|
|
||||||
object.put("startupTime", GlobalConfig.startupTime);
|
|
||||||
object.put("timestamp",timestamp);
|
|
||||||
Message message = Message.builder().clientId(GlobalConfig.CLIENT_ID).dataType(MsgEnum.心跳上报.getValue()).data(object.toString()).build();
|
|
||||||
sessionManager.writeAndFlush(sessionManager.getSessionById(GlobalConfig.CLIENT_ID).getChannel(), message);
|
|
||||||
AssertLog.info("发送心跳包={}",JSON.toJSONString(message));
|
|
||||||
}
|
}
|
||||||
AssertLog.info("心跳定时任务执行 - task #{} completed", count);
|
AssertLog.info("心跳定时任务执行 - task #{} completed", count);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user