java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.websocket.client.WebSocketClient
All Implemented Interfaces:
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.api.WebSocketContainer, org.eclipse.jetty.websocket.api.WebSocketPolicy

public class WebSocketClient extends org.eclipse.jetty.util.component.ContainerLifeCycle implements org.eclipse.jetty.websocket.api.WebSocketPolicy, org.eclipse.jetty.websocket.api.WebSocketContainer
  • Nested Class Summary

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

    org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener, org.eclipse.jetty.util.component.AbstractLifeCycle.StopException

    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, STARTED, STARTING, STOPPED, STOPPING

    Fields inherited from interface org.eclipse.jetty.util.component.Dumpable

    KEY
  • Constructor Summary

    Constructors
    Constructor
    Description
    Instantiates a WebSocketClient with a default HttpClient.
    WebSocketClient(org.eclipse.jetty.client.HttpClient httpClient)
    Instantiates a WebSocketClient with the given HttpClient.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addSessionListener(org.eclipse.jetty.websocket.api.WebSocketSessionListener listener)
     
    CompletableFuture<org.eclipse.jetty.websocket.api.Session>
    connect(Object websocket, URI toUri)
     
    CompletableFuture<org.eclipse.jetty.websocket.api.Session>
    connect(Object websocket, URI toUri, ClientUpgradeRequest request)
    Connect to remote websocket endpoint
    CompletableFuture<org.eclipse.jetty.websocket.api.Session>
    connect(Object websocket, URI toUri, ClientUpgradeRequest request, JettyUpgradeListener upgradeListener)
    Connect to remote websocket endpoint
    protected void
     
    void
    dump(Appendable out, String indent)
     
    org.eclipse.jetty.websocket.api.WebSocketBehavior
     
     
    org.eclipse.jetty.io.ByteBufferPool
     
    long
     
     
     
    org.eclipse.jetty.client.HttpClient
     
     
    int
     
    long
     
    long
     
    long
     
    org.eclipse.jetty.util.DecoratedObjectFactory
     
    Collection<org.eclipse.jetty.websocket.api.Session>
     
    int
     
    org.eclipse.jetty.util.ssl.SslContextFactory
     
    long
     
    boolean
     
    boolean
     
    void
    notifySessionListeners(Consumer<org.eclipse.jetty.websocket.api.WebSocketSessionListener> consumer)
     
    boolean
    removeSessionListener(org.eclipse.jetty.websocket.api.WebSocketSessionListener listener)
     
    void
    setAutoFragment(boolean autoFragment)
     
    void
     
    void
    Set the timeout for connecting to the remote server.
    void
     
    void
     
    void
     
    void
     
    void
    setMaxFrameSize(long maxFrameSize)
     
    void
     
    void
     
    void
    setStopAtShutdown(boolean stop)
    Set JVM shutdown behavior.
    void
    setStopTimeout(long stopTimeout)
    The timeout to allow all remaining open Sessions to be closed gracefully using the close code StatusCode.SHUTDOWN.
     

    Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle

    addBean, addBean, addEventListener, addManaged, contains, destroy, doStart, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans, updateBeans

    Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, start, stop

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.eclipse.jetty.util.component.Container

    getCachedBeans, getEventListeners

    Methods inherited from interface org.eclipse.jetty.util.component.Dumpable

    dumpSelf

    Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer

    isDumpable
  • Constructor Details

    • WebSocketClient

      public WebSocketClient()
      Instantiates a WebSocketClient with a default HttpClient.
    • WebSocketClient

      public WebSocketClient(org.eclipse.jetty.client.HttpClient httpClient)

      Instantiates a WebSocketClient with the given HttpClient.

      Parameters:
      httpClient - the HttpClient to use
  • Method Details

    • connect

      public CompletableFuture<org.eclipse.jetty.websocket.api.Session> connect(Object websocket, URI toUri) throws IOException
      Throws:
      IOException
    • connect

      public CompletableFuture<org.eclipse.jetty.websocket.api.Session> connect(Object websocket, URI toUri, ClientUpgradeRequest request) throws IOException
      Connect to remote websocket endpoint
      Parameters:
      websocket - the websocket object
      toUri - the websocket uri to connect to
      request - the upgrade request information
      Returns:
      the future for the session, available on success of connect
      Throws:
      IOException - if unable to connect
    • connect

      public CompletableFuture<org.eclipse.jetty.websocket.api.Session> connect(Object websocket, URI toUri, ClientUpgradeRequest request, JettyUpgradeListener upgradeListener) throws IOException
      Connect to remote websocket endpoint
      Parameters:
      websocket - the websocket object
      toUri - the websocket uri to connect to
      request - the upgrade request information
      upgradeListener - the upgrade listener
      Returns:
      the future for the session, available on success of connect
      Throws:
      IOException - if unable to connect
    • dump

      public void dump(Appendable out, String indent) throws IOException
      Specified by:
      dump in interface org.eclipse.jetty.util.component.Dumpable
      Overrides:
      dump in class org.eclipse.jetty.util.component.ContainerLifeCycle
      Throws:
      IOException
    • getBehavior

      public org.eclipse.jetty.websocket.api.WebSocketBehavior getBehavior()
      Specified by:
      getBehavior in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • addSessionListener

      public void addSessionListener(org.eclipse.jetty.websocket.api.WebSocketSessionListener listener)
      Specified by:
      addSessionListener in interface org.eclipse.jetty.websocket.api.WebSocketContainer
    • removeSessionListener

      public boolean removeSessionListener(org.eclipse.jetty.websocket.api.WebSocketSessionListener listener)
      Specified by:
      removeSessionListener in interface org.eclipse.jetty.websocket.api.WebSocketContainer
    • notifySessionListeners

      public void notifySessionListeners(Consumer<org.eclipse.jetty.websocket.api.WebSocketSessionListener> consumer)
      Specified by:
      notifySessionListeners in interface org.eclipse.jetty.websocket.api.WebSocketContainer
    • getIdleTimeout

      public Duration getIdleTimeout()
      Specified by:
      getIdleTimeout in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • getInputBufferSize

      public int getInputBufferSize()
      Specified by:
      getInputBufferSize in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • getOutputBufferSize

      public int getOutputBufferSize()
      Specified by:
      getOutputBufferSize in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • getMaxBinaryMessageSize

      public long getMaxBinaryMessageSize()
      Specified by:
      getMaxBinaryMessageSize in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • getMaxTextMessageSize

      public long getMaxTextMessageSize()
      Specified by:
      getMaxTextMessageSize in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • getMaxFrameSize

      public long getMaxFrameSize()
      Specified by:
      getMaxFrameSize in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • isAutoFragment

      public boolean isAutoFragment()
      Specified by:
      isAutoFragment in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • setIdleTimeout

      public void setIdleTimeout(Duration duration)
      Specified by:
      setIdleTimeout in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • setInputBufferSize

      public void setInputBufferSize(int size)
      Specified by:
      setInputBufferSize in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • setOutputBufferSize

      public void setOutputBufferSize(int size)
      Specified by:
      setOutputBufferSize in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • setMaxBinaryMessageSize

      public void setMaxBinaryMessageSize(long size)
      Specified by:
      setMaxBinaryMessageSize in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • setMaxTextMessageSize

      public void setMaxTextMessageSize(long size)
      Specified by:
      setMaxTextMessageSize in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • setMaxFrameSize

      public void setMaxFrameSize(long maxFrameSize)
      Specified by:
      setMaxFrameSize in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • setAutoFragment

      public void setAutoFragment(boolean autoFragment)
      Specified by:
      setAutoFragment in interface org.eclipse.jetty.websocket.api.WebSocketPolicy
    • getBindAddress

      public SocketAddress getBindAddress()
    • setBindAddress

      public void setBindAddress(SocketAddress bindAddress)
    • getConnectTimeout

      public long getConnectTimeout()
    • setConnectTimeout

      public void setConnectTimeout(long ms)
      Set the timeout for connecting to the remote server.
      Parameters:
      ms - the timeout in milliseconds
    • getCookieStore

      public CookieStore getCookieStore()
    • setCookieStore

      public void setCookieStore(CookieStore cookieStore)
    • getBufferPool

      public org.eclipse.jetty.io.ByteBufferPool getBufferPool()
    • getExecutor

      public Executor getExecutor()
      Specified by:
      getExecutor in interface org.eclipse.jetty.websocket.api.WebSocketContainer
    • getHttpClient

      public org.eclipse.jetty.client.HttpClient getHttpClient()
    • getObjectFactory

      public org.eclipse.jetty.util.DecoratedObjectFactory getObjectFactory()
    • getOpenSessions

      public Collection<org.eclipse.jetty.websocket.api.Session> getOpenSessions()
      Specified by:
      getOpenSessions in interface org.eclipse.jetty.websocket.api.WebSocketContainer
    • getSslContextFactory

      public org.eclipse.jetty.util.ssl.SslContextFactory getSslContextFactory()
      Returns:
      the SslContextFactory that manages TLS encryption
    • setStopAtShutdown

      public void setStopAtShutdown(boolean stop)
      Set JVM shutdown behavior.
      Parameters:
      stop - If true, this client instance will be explicitly stopped when the JVM is shutdown. Otherwise the application is responsible for maintaining the WebSocketClient lifecycle.
      See Also:
    • setStopTimeout

      public void setStopTimeout(long stopTimeout)
      The timeout to allow all remaining open Sessions to be closed gracefully using the close code StatusCode.SHUTDOWN.
      Parameters:
      stopTimeout - the time in ms to wait for the graceful close, use a value less than or equal to 0 to not gracefully close.
    • getStopTimeout

      public long getStopTimeout()
    • isStopAtShutdown

      public boolean isStopAtShutdown()
    • doStop

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

      public String toString()
      Overrides:
      toString in class org.eclipse.jetty.util.component.AbstractLifeCycle