setMaxInactiveInterval(10*60); to set maximum inactive interval to 10 minutes when user logged in, and reseeting it to -1 (undefined) when user opened websocket, since web socket is a protected resource in the web application, that is to say, required an authorized user to access it. I am able to make other request when websocket connecttion is opened, once user closes web socket connection i am re-setting httpsession timeout to 10 mins but httpsession invalidated immediatly after web socket closed. how to keep httpsession alive after closing websocket connection? here is code snippet
@OnOpen
public void onOpen(final Session s, EndpointConfig config)throws IOException {
this.httpSession = (HttpSession)
config.getUserProperties().get(HttpSession.class.getName());
//maintaining all opened websocket for httpsession in one map
webSession.put(s,httpsession)
httpSession.setMaxInactiveInterval(-1);
}
@OnClose
public void onClose( Session session,CloseReason reason) {
try {
HttpSession http_session= webSession.get(Session);
http_session.setMaxInactiveInterval(10*60);
} catch (IOException e) {
e.printStackTrace();
}
}