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 for
TeamAppsUiSessionManager.UiSession instances.
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
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()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
TeamAppsUiSessionManager
public TeamAppsUiSessionManager(TeamAppsConfiguration config, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
-
Method Details
-
setUiSessionListener
-
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
-
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
- 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()
-