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 Details

    • TeamAppsUiSessionManager

      public TeamAppsUiSessionManager​(TeamAppsConfiguration config, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
  • Method Details

    • 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:
      sendCommand in interface UiCommandExecutor
      Returns:
      the size of the queue of unsent commands
    • getClientBackPressureInfo

      public ClientBackPressureInfo getClientBackPressureInfo​(QualifiedUiSessionId sessionId)
      Specified by:
      getClientBackPressureInfo in interface UiCommandExecutor
    • closeSession

      public void closeSession​(QualifiedUiSessionId sessionId, org.teamapps.dto.UiSessionClosingReason reason)
      Specified by:
      closeSession in interface UiCommandExecutor
    • sessionCreated

      public void sessionCreated​(javax.servlet.http.HttpSessionEvent se)
      Specified by:
      sessionCreated in interface javax.servlet.http.HttpSessionListener
    • sessionDestroyed

      public void sessionDestroyed​(javax.servlet.http.HttpSessionEvent se)
      Specified by:
      sessionDestroyed in interface javax.servlet.http.HttpSessionListener
    • closeAllSessionsForHttpSession

      public void closeAllSessionsForHttpSession​(java.lang.String httpSessionId)
    • updateSessionStates

      public void updateSessionStates()
    • destroy

      public void destroy()