Package org.teamapps.uisession
Class TeamAppsUiSessionManager
- java.lang.Object
-
- org.teamapps.uisession.TeamAppsUiSessionManager
-
- All Implemented Interfaces:
java.util.EventListener,javax.servlet.http.HttpSessionListener,UiCommandExecutor
public class TeamAppsUiSessionManager extends java.lang.Object implements UiCommandExecutor, javax.servlet.http.HttpSessionListener
Implements a cache forTeamAppsUiSessionManager.UiSessioninstances.It takes care of the removal of timed-out sessions. The "last used" information is updated every time a session is retrieved.
-
-
Constructor Summary
Constructors Constructor Description TeamAppsUiSessionManager(TeamAppsConfiguration config, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcloseAllSessionsForHttpSession(java.lang.String httpSessionId)voidcloseSession(QualifiedUiSessionId sessionId, org.teamapps.dto.UiSessionClosingReason reason)voiddestroy()ClientBackPressureInfogetClientBackPressureInfo(QualifiedUiSessionId sessionId)voidhandleCommandRequest(QualifiedUiSessionId qualifiedUiSessionId, int lastReceivedCommandId, int maxRequestedCommandId)voidhandleCommandResult(QualifiedUiSessionId sessionId, int clientMessageId, int cmdId, java.lang.Object result)voidhandleEvent(QualifiedUiSessionId sessionId, int clientMessageId, org.teamapps.dto.UiEvent event)voidhandleKeepAlive(QualifiedUiSessionId sessionId)voidhandleQuery(QualifiedUiSessionId sessionId, int clientMessageId, org.teamapps.dto.UiQuery uiQuery)voidinitSession(QualifiedUiSessionId sessionId, org.teamapps.dto.UiClientInfo clientInfo, javax.servlet.http.HttpSession httpSession, int maxRequestedCommandId, MessageSender messageSender)voidreinitSession(QualifiedUiSessionId sessionId, int lastReceivedCommandId, int maxRequestedCommandId, MessageSender messageSender)intsendCommand(QualifiedUiSessionId sessionId, UiCommandWithResultCallback commandWithCallback)voidsessionCreated(javax.servlet.http.HttpSessionEvent se)voidsessionDestroyed(javax.servlet.http.HttpSessionEvent se)voidsetUiSessionListener(UiSessionListener uiSessionListener)voidupdateSessionStates()
-
-
-
Constructor Detail
-
TeamAppsUiSessionManager
public TeamAppsUiSessionManager(TeamAppsConfiguration config, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
-
Method Detail
-
setUiSessionListener
public void setUiSessionListener(UiSessionListener uiSessionListener)
-
initSession
public void initSession(QualifiedUiSessionId sessionId, org.teamapps.dto.UiClientInfo clientInfo, javax.servlet.http.HttpSession httpSession, int maxRequestedCommandId, MessageSender messageSender)
-
handleEvent
public void handleEvent(QualifiedUiSessionId sessionId, int clientMessageId, org.teamapps.dto.UiEvent event)
-
handleQuery
public void handleQuery(QualifiedUiSessionId sessionId, int clientMessageId, org.teamapps.dto.UiQuery uiQuery)
-
handleCommandResult
public void handleCommandResult(QualifiedUiSessionId sessionId, int clientMessageId, int cmdId, java.lang.Object result)
-
handleKeepAlive
public void handleKeepAlive(QualifiedUiSessionId sessionId)
-
reinitSession
public void reinitSession(QualifiedUiSessionId sessionId, int lastReceivedCommandId, int maxRequestedCommandId, MessageSender messageSender)
-
handleCommandRequest
public void handleCommandRequest(QualifiedUiSessionId qualifiedUiSessionId, int lastReceivedCommandId, int maxRequestedCommandId)
-
sendCommand
public int sendCommand(QualifiedUiSessionId sessionId, UiCommandWithResultCallback commandWithCallback)
- Specified by:
sendCommandin interfaceUiCommandExecutor- Returns:
- the size of the queue of unsent commands
-
getClientBackPressureInfo
public ClientBackPressureInfo getClientBackPressureInfo(QualifiedUiSessionId sessionId)
- Specified by:
getClientBackPressureInfoin interfaceUiCommandExecutor
-
closeSession
public void closeSession(QualifiedUiSessionId sessionId, org.teamapps.dto.UiSessionClosingReason reason)
- Specified by:
closeSessionin interfaceUiCommandExecutor
-
sessionCreated
public void sessionCreated(javax.servlet.http.HttpSessionEvent se)
- Specified by:
sessionCreatedin interfacejavax.servlet.http.HttpSessionListener
-
sessionDestroyed
public void sessionDestroyed(javax.servlet.http.HttpSessionEvent se)
- Specified by:
sessionDestroyedin interfacejavax.servlet.http.HttpSessionListener
-
closeAllSessionsForHttpSession
public void closeAllSessionsForHttpSession(java.lang.String httpSessionId)
-
updateSessionStates
public void updateSessionStates()
-
destroy
public void destroy()
-
-