@Component
@EnableScheduling
@Slf4j
public class WebSocketHeartBeatTask {
/**
* 每10秒进行一次websocket心跳检测
*/
@Scheduled(cron = "0/10 * * * * ?")
public void beatTask() {
AtomicInteger num = new AtomicInteger();
SessionMgr.nativeSessions.values().stream().parallel().forEach(session->{
try {
session.sendMessage(new PingMessage());
num.getAndIncrement();
} catch (Exception e) {
log.error("websocket心跳异常",e);
}
});
log.info("websocket心跳检测结果,共【{}】个连接", num);
}
}
springboot集成websocket,服务端心跳检测
于 2024-05-20 15:38:37 首次发布