UserSessionData.java
908 Bytes
package com.infoloop.tianting.server.session;
import lombok.Getter;
import org.springframework.web.socket.CloseStatus;
import org.springframework.web.socket.WebSocketSession;
import java.io.IOException;
import java.util.concurrent.atomic.AtomicLong;
@Getter
public class UserSessionData {
private final WebSocketSession session;
private final AtomicLong lastActiveTime;
public UserSessionData(WebSocketSession session) {
this.session = session;
this.lastActiveTime = new AtomicLong(System.currentTimeMillis());
}
public long getLastActiveTime() {
return lastActiveTime.get();
}
public void updateLastActiveTime() {
lastActiveTime.set(System.currentTimeMillis());
}
public void closeSession() throws IOException {
if (session != null && session.isOpen()) {
session.close(CloseStatus.GOING_AWAY);
}
}
}