This commit is contained in:
jack ning
2025-11-10 15:33:16 +08:00
parent f37bb00456
commit 4328cc8bfb
22 changed files with 120 additions and 148 deletions

View File

@@ -18,6 +18,7 @@ import org.springframework.stereotype.Component;
import com.bytedesk.core.socket.mqtt.event.MqttConnectedEvent;
import com.bytedesk.core.socket.mqtt.event.MqttDisconnectedEvent;
import com.bytedesk.core.quartz.event.QuartzOneMinEvent;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -54,5 +55,13 @@ public class ConnectionEventListener {
// boolean online = connectionRestService.isUserOnline(uid);
// agentRestService.updateConnect(uid, online);
}
/**
* 每分钟调度:清理过期连接,移除超出 TTL 的会话,保持在线状态准确。
*/
@EventListener
public void onQuartzOneMinEvent(QuartzOneMinEvent event) {
connectionRestService.expireStaleSessions();
}
}

View File

@@ -13,7 +13,6 @@
*/
package com.bytedesk.core.socket.connection;
import com.bytedesk.core.base.BaseResponse;
import lombok.Data;
@@ -31,17 +30,17 @@ public class ConnectionResponse extends BaseResponse {
private static final long serialVersionUID = 1L;
private String clientId;
private String deviceUid;
private String clientId;
private String deviceUid;
private String protocol;
// channel 字段在 BaseResponse 中未定义,这里单独暴露以便前端获取来源渠道
private String channel;
private String ip;
private String userAgent;
private String status;
private Long connectedAt;
private Long lastHeartbeatAt;
private Long disconnectedAt;
private Integer ttlSeconds;
private String ip;
private String userAgent;
private String status;
private Long connectedAt;
private Long lastHeartbeatAt;
private Long disconnectedAt;
private Integer ttlSeconds;
}