【发布时间】:2017-01-30 15:08:13
【问题描述】:
是否有任何内置属性可以获取 Spring WebSocketSession 的开始时间?开始时间是指会话开始的时间或 websocket 连接打开的时间?
更新:
我有一个 TestWebSocketService,我在其中“存储”了 websocket 会话。在这里我想获取有关会话的信息,例如会话开始时间(连接开始时间)等等。
WebSocketHandler:
@Component
public class TestWebsocketHandler extends TextWebSocketHandler{
private final TestWebSocketService testWebSocketService;
@Autowired
public TestWebsocketHandler(TestWebSocketService testWebSocketService){
this.testWebSocketService = testWebSocketService;
}
@Override
public void afterConnectionEstablished(WebSocketSession session) throws Exception {
this.testWebSocketService.setSession(session);
}
@Override
protected void handleTextMessage(WebSocketSession session, TextMessage requestMessage) throws Exception {
...
}
}
WebSocket服务:
@Component
public class TestWebSocketServiceImpl implements TestWebSocketService {
private WebSocketSession session;
public TestWebSocketServiceImpl() {}
@Override
public void setSession(WebSocketSession session) {
this.session = session;
}
}
【问题讨论】:
-
你可以使用
HttpSession#getCreationTime()docs.oracle.com/javaee/7/api/javax/servlet/http/…获取它 -
@redflar3 如何获取 HttpSession?
-
你能举一些你想要获取会话开始时间的代码示例
标签: java spring spring-mvc websocket spring-websocket