Class WsServerContainer

    • Method Detail

      • 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
      • upgradeHttpToWebSocket

        public void upgradeHttpToWebSocket​(java.lang.Object httpServletRequest,
                                           java.lang.Object httpServletResponse,
                                           ServerEndpointConfig sec,
                                           java.util.Map<java.lang.String,​java.lang.String> pathParameters)
                                    throws java.io.IOException,
                                           DeploymentException
        Description copied from interface: jakarta.websocket.server.ServerContainer
        Upgrade the HTTP connection represented by the HttpServletRequest and HttpServletResponse to the WebSocket protocol and establish a WebSocket connection as per the provided ServerEndpointConfig.

        This method is primarily intended to be used by frameworks that implement the front-controller pattern. It does not deploy the provided endpoint.

        If the WebSocket implementation is not deployed as part of a Jakarta Servlet container, this method will throw an UnsupportedOperationException.

        Specified by:
        upgradeHttpToWebSocket in interface ServerContainer
        Parameters:
        httpServletRequest - The HttpServletRequest to be processed as a WebSocket handshake as per section 4.0 of RFC 6455.
        httpServletResponse - The HttpServletResponse to be used when processing the httpServletRequest as a WebSocket handshake as per section 4.0 of RFC 6455.
        sec - The server endpoint configuration to use to configure the WebSocket endpoint
        pathParameters - Provides a mapping of path parameter names and values, if any, to be used for the WebSocket connection established by the call to this method. If no such mapping is defined, an empty Map must be passed.
        Throws:
        java.io.IOException - if an I/O error occurs during the establishment of a WebSocket connection
        DeploymentException - if a configuration error prevents the establishment of a WebSocket connection
      • findMapping

        public org.apache.tomcat.websocket.server.WsMappingResult findMapping​(java.lang.String path)
        Finds the endpoint configuration that matches the given path.
        Parameters:
        path - the URI path to match
        Returns:
        the mapping result, or null if no match is found
      • getTimeout

        protected WsWriteTimeout getTimeout()
        Returns the write timeout handler.
        Returns:
        the write timeout handler
      • getInstanceManager

        protected InstanceManager getInstanceManager​(java.lang.ClassLoader classLoader)
        Returns the instance manager for the given class loader. Overridden to make it visible to other classes in this package.
        Overrides:
        getInstanceManager in class WsWebSocketContainer
        Parameters:
        classLoader - the class loader
        Returns:
        the instance manager
      • registerSession

        protected void registerSession​(java.lang.Object key,
                                       WsSession wsSession)
        Registers a WebSocket session. Overridden to make it visible to other classes in this package.
        Overrides:
        registerSession in class WsWebSocketContainer
        Parameters:
        key - the session key
        wsSession - the session to register
      • unregisterSession

        protected void unregisterSession​(java.lang.Object key,
                                         WsSession wsSession)
        Unregisters a WebSocket session. Overridden to make it visible to other classes in this package.
        Overrides:
        unregisterSession in class WsWebSocketContainer
        Parameters:
        key - the session key
        wsSession - the session to unregister
      • closeAuthenticatedSession

        public void closeAuthenticatedSession​(java.lang.String httpSessionId)
        Closes all WebSocket sessions associated with the given authenticated HTTP session.
        Parameters:
        httpSessionId - the HTTP session ID