Class AbstractWebSocketHandlerBean<UserSessionData extends NeedClose>

java.lang.Object
org.springframework.web.socket.handler.AbstractWebSocketHandler
kz.greetgo.spring.websocket.beans.AbstractWebSocketHandlerBean<UserSessionData>
All Implemented Interfaces:
PreExecuteInterceptor, org.springframework.beans.factory.InitializingBean, org.springframework.web.socket.WebSocketHandler

public abstract class AbstractWebSocketHandlerBean<UserSessionData extends NeedClose> extends org.springframework.web.socket.handler.AbstractWebSocketHandler implements org.springframework.beans.factory.InitializingBean, PreExecuteInterceptor
  • Constructor Details

    • AbstractWebSocketHandlerBean

      public AbstractWebSocketHandlerBean()
  • Method Details

    • afterPropertiesSet

      public void afterPropertiesSet()
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
    • handleTransportError

      public void handleTransportError(@NonNull @NonNull org.springframework.web.socket.WebSocketSession session, @NonNull @NonNull Throwable exception)
      Specified by:
      handleTransportError in interface org.springframework.web.socket.WebSocketHandler
      Overrides:
      handleTransportError in class org.springframework.web.socket.handler.AbstractWebSocketHandler
    • afterConnectionEstablished

      public void afterConnectionEstablished(@NonNull @NonNull org.springframework.web.socket.WebSocketSession webSocketSession)
      Specified by:
      afterConnectionEstablished in interface org.springframework.web.socket.WebSocketHandler
      Overrides:
      afterConnectionEstablished in class org.springframework.web.socket.handler.AbstractWebSocketHandler
    • createUserDataOnNewSession

      protected UserSessionData createUserDataOnNewSession(String sessionId)
    • closeUserSessionData

      protected void closeUserSessionData(@NonNull @NonNull String sessionId, UserSessionData userSessionData) throws Exception
      Throws:
      Exception
    • afterConnectionClosed

      public void afterConnectionClosed(@NonNull @NonNull org.springframework.web.socket.WebSocketSession session, @NonNull @NonNull org.springframework.web.socket.CloseStatus status)
      Specified by:
      afterConnectionClosed in interface org.springframework.web.socket.WebSocketHandler
      Overrides:
      afterConnectionClosed in class org.springframework.web.socket.handler.AbstractWebSocketHandler
    • removeSessionById

      protected void removeSessionById(String sessionId)
    • handleTextMessage

      protected void handleTextMessage(@NonNull @NonNull org.springframework.web.socket.WebSocketSession session, @NonNull @NonNull org.springframework.web.socket.TextMessage message) throws Exception
      Overrides:
      handleTextMessage in class org.springframework.web.socket.handler.AbstractWebSocketHandler
      Throws:
      Exception
    • sendToClient

      public void sendToClient(@NonNull @NonNull String sessionId, @NonNull @NonNull ToClient toClient)
    • getToken

      public String getToken(@NonNull @NonNull String sessionId)
    • setToken

      public void setToken(@NonNull @NonNull String sessionId, String value)
    • getUserSessionData

      protected UserSessionData getUserSessionData(@NonNull @NonNull String sessionId)
    • setUserSessionData

      protected void setUserSessionData(@NonNull @NonNull String sessionId, UserSessionData userSessionData)
    • createMessageSender

      @NonNull public @NonNull MessageSender createMessageSender(@NonNull @NonNull String sessionId)
    • preExecute

      public void preExecute(Object controller, Method method, String serviceFullName, ExecuteInput executeInput, AnnotationFinder annotationFinder)
      Specified by:
      preExecute in interface PreExecuteInterceptor