Class ClientContainer

  • All Implemented Interfaces:
    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, org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope

    @ManagedObject("JSR356 Client Container")
    public class ClientContainer
    extends org.eclipse.jetty.util.component.ContainerLifeCycle
    implements javax.websocket.WebSocketContainer, org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
    Container for Client use of the javax.websocket API.

    This should be specific to a JVM if run in a standalone mode. or specific to a WebAppContext if running on the Jetty server.

    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

        org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container

        org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable

        org.eclipse.jetty.util.component.Dumpable.DumpableContainer
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

        org.eclipse.jetty.util.component.LifeCycle.Listener
    • Field Summary

      • Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

        FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
      • Fields inherited from interface org.eclipse.jetty.util.component.Dumpable

        KEY
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        ClientContainer()
      This is the entry point for ContainerProvider.getWebSocketContainer()
        ClientContainer​(org.eclipse.jetty.client.HttpClient httpClient)
      Create a WebSocketContainer using the supplied HttpClient for environments where you want to configure SSL/TLS or Proxy behaviors.
        ClientContainer​(WebSocketClient client)
      Build a ClientContainer with a specific WebSocketClient in mind.
        ClientContainer​(org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope scope)
      This is the entry point for ServerContainer, via ServletContext.getAttribute(ServerContainer.class.getName())
      protected ClientContainer​(org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope scope, org.eclipse.jetty.client.HttpClient httpClient)
      This is the entry point for ServerContainer, via ServletContext.getAttribute(ServerContainer.class.getName())
    • Constructor Detail

      • ClientContainer

        public ClientContainer()
        This is the entry point for ContainerProvider.getWebSocketContainer()
      • ClientContainer

        public ClientContainer​(org.eclipse.jetty.client.HttpClient httpClient)
        Create a WebSocketContainer using the supplied HttpClient for environments where you want to configure SSL/TLS or Proxy behaviors.
        Parameters:
        httpClient - the HttpClient instance to use
      • ClientContainer

        public ClientContainer​(org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope scope)
        This is the entry point for ServerContainer, via ServletContext.getAttribute(ServerContainer.class.getName())
        Parameters:
        scope - the scope of the ServerContainer
      • ClientContainer

        protected ClientContainer​(org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope scope,
                                  org.eclipse.jetty.client.HttpClient httpClient)
        This is the entry point for ServerContainer, via ServletContext.getAttribute(ServerContainer.class.getName())
        Parameters:
        scope - the scope of the ServerContainer
        httpClient - the HttpClient instance to use
      • ClientContainer

        public ClientContainer​(WebSocketClient client)
        Build a ClientContainer with a specific WebSocketClient in mind.
        Parameters:
        client - the WebSocketClient to use.
    • Method Detail

      • connectToServer

        public javax.websocket.Session connectToServer​(java.lang.Class<? extends javax.websocket.Endpoint> endpointClass,
                                                       javax.websocket.ClientEndpointConfig config,
                                                       java.net.URI path)
                                                throws javax.websocket.DeploymentException,
                                                       java.io.IOException
        Specified by:
        connectToServer in interface javax.websocket.WebSocketContainer
        Throws:
        javax.websocket.DeploymentException
        java.io.IOException
      • connectToServer

        public javax.websocket.Session connectToServer​(java.lang.Class<?> annotatedEndpointClass,
                                                       java.net.URI path)
                                                throws javax.websocket.DeploymentException,
                                                       java.io.IOException
        Specified by:
        connectToServer in interface javax.websocket.WebSocketContainer
        Throws:
        javax.websocket.DeploymentException
        java.io.IOException
      • connectToServer

        public javax.websocket.Session connectToServer​(javax.websocket.Endpoint endpoint,
                                                       javax.websocket.ClientEndpointConfig config,
                                                       java.net.URI path)
                                                throws javax.websocket.DeploymentException,
                                                       java.io.IOException
        Specified by:
        connectToServer in interface javax.websocket.WebSocketContainer
        Throws:
        javax.websocket.DeploymentException
        java.io.IOException
      • connectToServer

        public javax.websocket.Session connectToServer​(java.lang.Object endpoint,
                                                       java.net.URI path)
                                                throws javax.websocket.DeploymentException,
                                                       java.io.IOException
        Specified by:
        connectToServer in interface javax.websocket.WebSocketContainer
        Throws:
        javax.websocket.DeploymentException
        java.io.IOException
      • doStart

        protected void doStart()
                        throws java.lang.Exception
        Overrides:
        doStart in class org.eclipse.jetty.util.component.ContainerLifeCycle
        Throws:
        java.lang.Exception
      • doStop

        protected void doStop()
                       throws java.lang.Exception
        Overrides:
        doStop in class org.eclipse.jetty.util.component.ContainerLifeCycle
        Throws:
        java.lang.Exception
      • getBufferPool

        public org.eclipse.jetty.io.ByteBufferPool getBufferPool()
        Specified by:
        getBufferPool in interface org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
      • getClassLoader

        public java.lang.ClassLoader getClassLoader()
        Specified by:
        getClassLoader in interface org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
      • getClientEndpointMetadata

        public EndpointMetadata getClientEndpointMetadata​(java.lang.Class<?> endpoint,
                                                          javax.websocket.EndpointConfig config)
      • getDefaultAsyncSendTimeout

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

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

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

        public int getDefaultMaxTextMessageBufferSize()
        Specified by:
        getDefaultMaxTextMessageBufferSize in interface javax.websocket.WebSocketContainer
      • getExecutor

        public java.util.concurrent.Executor getExecutor()
        Specified by:
        getExecutor in interface org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
      • getInstalledExtensions

        public java.util.Set<javax.websocket.Extension> getInstalledExtensions()
        Specified by:
        getInstalledExtensions in interface javax.websocket.WebSocketContainer
      • getObjectFactory

        public org.eclipse.jetty.util.DecoratedObjectFactory getObjectFactory()
        Specified by:
        getObjectFactory in interface org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
      • getOpenSessions

        public java.util.Set<javax.websocket.Session> getOpenSessions()
        Used in Session.getOpenSessions()
        Returns:
        the set of open sessions
      • getPolicy

        public org.eclipse.jetty.websocket.api.WebSocketPolicy getPolicy()
        Specified by:
        getPolicy in interface org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
      • getSslContextFactory

        public org.eclipse.jetty.util.ssl.SslContextFactory getSslContextFactory()
        Specified by:
        getSslContextFactory in interface org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
      • addSessionListener

        public void addSessionListener​(org.eclipse.jetty.websocket.common.WebSocketSessionListener listener)
        Specified by:
        addSessionListener in interface org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
      • removeSessionListener

        public void removeSessionListener​(org.eclipse.jetty.websocket.common.WebSocketSessionListener listener)
        Specified by:
        removeSessionListener in interface org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
      • getSessionListeners

        public java.util.Collection<org.eclipse.jetty.websocket.common.WebSocketSessionListener> getSessionListeners()
        Specified by:
        getSessionListeners in interface org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
      • newClientEndpointInstance

        public EndpointInstance newClientEndpointInstance​(java.lang.Object endpoint,
                                                          javax.websocket.ClientEndpointConfig config)
      • setAsyncSendTimeout

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

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

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

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