Class WsServerContainer

java.lang.Object
org.apache.tomcat.websocket.WsWebSocketContainer
org.apache.tomcat.websocket.server.WsServerContainer
All Implemented Interfaces:
ServerContainer, WebSocketContainer, BackgroundProcess

public class WsServerContainer extends WsWebSocketContainer implements ServerContainer
Provides a per class loader (i.e. per web application) instance of a ServerContainer. Web application wide defaults may be configured by setting the following servlet context initialisation parameters to the desired values.
  • Method Details

    • addEndpoint

      public void addEndpoint(ServerEndpointConfig sec) throws DeploymentException
      Published the provided endpoint implementation at the specified path with the specified configuration. WsServerContainer(ServletContext) must be called before calling this method.
      Specified by:
      addEndpoint in interface ServerContainer
      Parameters:
      sec - The configuration to use when creating endpoint instances
      Throws:
      DeploymentException - if the endpoint cannot be published as requested
    • addEndpoint

      public void addEndpoint(Class<?> pojo) throws DeploymentException
      Provides the equivalent of addEndpoint(ServerEndpointConfig) for publishing plain old java objects (POJOs) that have been annotated as WebSocket endpoints.
      Specified by:
      addEndpoint in interface ServerContainer
      Parameters:
      pojo - The annotated POJO
      Throws:
      DeploymentException
    • doUpgrade

      public void doUpgrade(HttpServletRequest request, HttpServletResponse response, ServerEndpointConfig sec, Map<String,String> pathParams) throws ServletException, IOException
      Until the WebSocket specification provides such a mechanism, this Tomcat proprietary method is provided to enable applications to programmatically determine whether or not to upgrade an individual request to WebSocket.

      Note: This method is not used by Tomcat but is used directly by third-party code and must not be removed.

      Parameters:
      request - The request object to be upgraded
      response - The response object to be populated with the result of the upgrade
      sec - The server endpoint to use to process the upgrade request
      pathParams - The path parameters associated with the upgrade request
      Throws:
      ServletException - If a configuration error prevents the upgrade from taking place
      IOException - If an I/O error occurs during the upgrade process
    • findMapping

      public org.apache.tomcat.websocket.server.WsMappingResult findMapping(String path)
    • isEnforceNoAddAfterHandshake

      public boolean isEnforceNoAddAfterHandshake()
    • setEnforceNoAddAfterHandshake

      public void setEnforceNoAddAfterHandshake(boolean enforceNoAddAfterHandshake)
    • getTimeout

      protected WsWriteTimeout getTimeout()
    • registerSession

      protected void registerSession(Object key, WsSession wsSession)
      Overridden to make it visible to other classes in this package.
      Overrides:
      registerSession in class WsWebSocketContainer
    • unregisterSession

      protected void unregisterSession(Object key, WsSession wsSession)
      Overridden to make it visible to other classes in this package.
      Overrides:
      unregisterSession in class WsWebSocketContainer
    • closeAuthenticatedSession

      public void closeAuthenticatedSession(String httpSessionId)