Class ServerContainer

  • All Implemented Interfaces:
    javax.websocket.server.ServerContainer, javax.websocket.WebSocketContainer, org.eclipse.jetty.util.component.Container, org.eclipse.jetty.util.component.Destroyable, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.component.Dumpable.DumpableContainer, org.eclipse.jetty.util.component.LifeCycle, WebSocketContainerScope

    @ManagedObject("JSR356 Server Container")
    public class ServerContainer
    extends ClientContainer
    implements javax.websocket.server.ServerContainer
    • Field Detail

      • LOG

        private static final org.eclipse.jetty.util.log.Logger LOG
      • PATH_PARAM_ATTRIBUTE

        public static final java.lang.String PATH_PARAM_ATTRIBUTE
        See Also:
        Constant Field Values
      • deferredEndpointClasses

        private java.util.List<java.lang.Class<?>> deferredEndpointClasses
      • deferredEndpointConfigs

        private java.util.List<javax.websocket.server.ServerEndpointConfig> deferredEndpointConfigs
    • Constructor Detail

      • ServerContainer

        @Deprecated
        public ServerContainer​(NativeWebSocketConfiguration configuration,
                               java.util.concurrent.Executor executor)
        Deprecated.
        use ServerContainer(NativeWebSocketConfiguration, HttpClient) instead
        Parameters:
        configuration - the NativeWebSocketConfiguration to use
        executor - not used
    • Method Detail

      • getWebSocketContainer

        public static javax.websocket.WebSocketContainer getWebSocketContainer()
        Get the WebSocketContainer out of the current ThreadLocal reference of the active ContextHandler.
        Returns:
        the WebSocketContainer if found, null if not found.
      • newClientEndpointInstance

        public EndpointInstance newClientEndpointInstance​(java.lang.Object endpoint,
                                                          javax.websocket.server.ServerEndpointConfig config,
                                                          java.lang.String path)
      • validateEndpointConfig

        private void validateEndpointConfig​(javax.websocket.server.ServerEndpointConfig config)
                                     throws javax.websocket.DeploymentException
        Throws:
        javax.websocket.DeploymentException
      • addEndpoint

        public void addEndpoint​(java.lang.Class<?> endpointClass)
                         throws javax.websocket.DeploymentException
        Specified by:
        addEndpoint in interface javax.websocket.server.ServerContainer
        Throws:
        javax.websocket.DeploymentException
      • addEndpoint

        public void addEndpoint​(javax.websocket.server.ServerEndpointConfig config)
                         throws javax.websocket.DeploymentException
        Specified by:
        addEndpoint in interface javax.websocket.server.ServerContainer
        Throws:
        javax.websocket.DeploymentException
      • doStart

        protected void doStart()
                        throws java.lang.Exception
        Overrides:
        doStart in class ClientContainer
        Throws:
        java.lang.Exception
      • getServerEndpointMetadata

        public ServerEndpointMetadata getServerEndpointMetadata​(java.lang.Class<?> endpoint,
                                                                javax.websocket.server.ServerEndpointConfig config)
                                                         throws javax.websocket.DeploymentException
        Throws:
        javax.websocket.DeploymentException
      • getDefaultAsyncSendTimeout

        public long getDefaultAsyncSendTimeout()
        Specified by:
        getDefaultAsyncSendTimeout in interface javax.websocket.WebSocketContainer
        Overrides:
        getDefaultAsyncSendTimeout in class ClientContainer
      • getDefaultMaxBinaryMessageBufferSize

        public int getDefaultMaxBinaryMessageBufferSize()
        Specified by:
        getDefaultMaxBinaryMessageBufferSize in interface javax.websocket.WebSocketContainer
        Overrides:
        getDefaultMaxBinaryMessageBufferSize in class ClientContainer
      • getDefaultMaxSessionIdleTimeout

        public long getDefaultMaxSessionIdleTimeout()
        Specified by:
        getDefaultMaxSessionIdleTimeout in interface javax.websocket.WebSocketContainer
        Overrides:
        getDefaultMaxSessionIdleTimeout in class ClientContainer
      • getDefaultMaxTextMessageBufferSize

        public int getDefaultMaxTextMessageBufferSize()
        Specified by:
        getDefaultMaxTextMessageBufferSize in interface javax.websocket.WebSocketContainer
        Overrides:
        getDefaultMaxTextMessageBufferSize in class ClientContainer
      • upgradeHttpToWebSocket

        public void upgradeHttpToWebSocket​(java.lang.Object httpServletRequest,
                                           java.lang.Object httpServletResponse,
                                           javax.websocket.server.ServerEndpointConfig sec,
                                           java.util.Map<java.lang.String,​java.lang.String> pathParameters)
                                    throws java.io.IOException,
                                           javax.websocket.DeploymentException
        Throws:
        java.io.IOException
        javax.websocket.DeploymentException
      • setAsyncSendTimeout

        public void setAsyncSendTimeout​(long ms)
        Specified by:
        setAsyncSendTimeout in interface javax.websocket.WebSocketContainer
        Overrides:
        setAsyncSendTimeout in class ClientContainer
      • setDefaultMaxBinaryMessageBufferSize

        public void setDefaultMaxBinaryMessageBufferSize​(int max)
        Specified by:
        setDefaultMaxBinaryMessageBufferSize in interface javax.websocket.WebSocketContainer
        Overrides:
        setDefaultMaxBinaryMessageBufferSize in class ClientContainer
      • setDefaultMaxSessionIdleTimeout

        public void setDefaultMaxSessionIdleTimeout​(long ms)
        Specified by:
        setDefaultMaxSessionIdleTimeout in interface javax.websocket.WebSocketContainer
        Overrides:
        setDefaultMaxSessionIdleTimeout in class ClientContainer
      • setDefaultMaxTextMessageBufferSize

        public void setDefaultMaxTextMessageBufferSize​(int max)
        Specified by:
        setDefaultMaxTextMessageBufferSize in interface javax.websocket.WebSocketContainer
        Overrides:
        setDefaultMaxTextMessageBufferSize in class ClientContainer