Class WebSocketClient
- 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
-
-
Constructor Summary
Constructors Constructor Description WebSocketClient()Instantiate a WebSocketClient with defaultsWebSocketClient(org.eclipse.jetty.client.HttpClient httpClient)Instantiate a WebSocketClient using HttpClient for defaults
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSessionListener(org.eclipse.jetty.websocket.api.WebSocketSessionListener listener)java.util.concurrent.CompletableFuture<org.eclipse.jetty.websocket.api.Session>connect(java.lang.Object websocket, java.net.URI toUri)java.util.concurrent.CompletableFuture<org.eclipse.jetty.websocket.api.Session>connect(java.lang.Object websocket, java.net.URI toUri, ClientUpgradeRequest request)Connect to remote websocket endpointjava.util.concurrent.CompletableFuture<org.eclipse.jetty.websocket.api.Session>connect(java.lang.Object websocket, java.net.URI toUri, ClientUpgradeRequest request, JettyUpgradeListener upgradeListener)Connect to remote websocket endpointprotected voiddoStop()voiddump(java.lang.Appendable out, java.lang.String indent)org.eclipse.jetty.websocket.api.WebSocketBehaviorgetBehavior()java.net.SocketAddressgetBindAddress()org.eclipse.jetty.io.ByteBufferPoolgetBufferPool()longgetConnectTimeout()java.net.CookieStoregetCookieStore()java.util.concurrent.ExecutorgetExecutor()org.eclipse.jetty.client.HttpClientgetHttpClient()java.time.DurationgetIdleTimeout()intgetInputBufferSize()longgetMaxBinaryMessageSize()longgetMaxFrameSize()longgetMaxTextMessageSize()org.eclipse.jetty.util.DecoratedObjectFactorygetObjectFactory()java.util.Collection<org.eclipse.jetty.websocket.api.Session>getOpenSessions()intgetOutputBufferSize()org.eclipse.jetty.util.ssl.SslContextFactorygetSslContextFactory()longgetStopTimeout()booleanisAutoFragment()booleanisStopAtShutdown()voidnotifySessionListeners(java.util.function.Consumer<org.eclipse.jetty.websocket.api.WebSocketSessionListener> consumer)booleanremoveSessionListener(org.eclipse.jetty.websocket.api.WebSocketSessionListener listener)voidsetAutoFragment(boolean autoFragment)voidsetBindAddress(java.net.SocketAddress bindAddress)voidsetConnectTimeout(long ms)Set the timeout for connecting to the remote server.voidsetCookieStore(java.net.CookieStore cookieStore)voidsetIdleTimeout(java.time.Duration duration)voidsetInputBufferSize(int size)voidsetMaxBinaryMessageSize(long size)voidsetMaxFrameSize(long maxFrameSize)voidsetMaxTextMessageSize(long size)voidsetOutputBufferSize(int size)voidsetStopAtShutdown(boolean stop)Set JVM shutdown behavior.voidsetStopTimeout(long stopTimeout)The timeout to allow all remaining open Sessions to be closed gracefully using the close codeStatusCode.SHUTDOWN.java.lang.StringtoString()-
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
-
-
-
-
Constructor Detail
-
WebSocketClient
public WebSocketClient()
Instantiate a WebSocketClient with defaults
-
WebSocketClient
public WebSocketClient(org.eclipse.jetty.client.HttpClient httpClient)
Instantiate a WebSocketClient using HttpClient for defaults- Parameters:
httpClient- the HttpClient to base internal defaults off of
-
-
Method Detail
-
connect
public java.util.concurrent.CompletableFuture<org.eclipse.jetty.websocket.api.Session> connect(java.lang.Object websocket, java.net.URI toUri) throws java.io.IOException- Throws:
java.io.IOException
-
connect
public java.util.concurrent.CompletableFuture<org.eclipse.jetty.websocket.api.Session> connect(java.lang.Object websocket, java.net.URI toUri, ClientUpgradeRequest request) throws java.io.IOExceptionConnect to remote websocket endpoint- Parameters:
websocket- the websocket objecttoUri- the websocket uri to connect torequest- the upgrade request information- Returns:
- the future for the session, available on success of connect
- Throws:
java.io.IOException- if unable to connect
-
connect
public java.util.concurrent.CompletableFuture<org.eclipse.jetty.websocket.api.Session> connect(java.lang.Object websocket, java.net.URI toUri, ClientUpgradeRequest request, JettyUpgradeListener upgradeListener) throws java.io.IOExceptionConnect to remote websocket endpoint- Parameters:
websocket- the websocket objecttoUri- the websocket uri to connect torequest- the upgrade request informationupgradeListener- the upgrade listener- Returns:
- the future for the session, available on success of connect
- Throws:
java.io.IOException- if unable to connect
-
dump
public void dump(java.lang.Appendable out, java.lang.String indent) throws java.io.IOException- Specified by:
dumpin interfaceorg.eclipse.jetty.util.component.Dumpable- Overrides:
dumpin classorg.eclipse.jetty.util.component.ContainerLifeCycle- Throws:
java.io.IOException
-
getBehavior
public org.eclipse.jetty.websocket.api.WebSocketBehavior getBehavior()
- Specified by:
getBehaviorin interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
addSessionListener
public void addSessionListener(org.eclipse.jetty.websocket.api.WebSocketSessionListener listener)
- Specified by:
addSessionListenerin interfaceorg.eclipse.jetty.websocket.api.WebSocketContainer
-
removeSessionListener
public boolean removeSessionListener(org.eclipse.jetty.websocket.api.WebSocketSessionListener listener)
- Specified by:
removeSessionListenerin interfaceorg.eclipse.jetty.websocket.api.WebSocketContainer
-
notifySessionListeners
public void notifySessionListeners(java.util.function.Consumer<org.eclipse.jetty.websocket.api.WebSocketSessionListener> consumer)
- Specified by:
notifySessionListenersin interfaceorg.eclipse.jetty.websocket.api.WebSocketContainer
-
getIdleTimeout
public java.time.Duration getIdleTimeout()
- Specified by:
getIdleTimeoutin interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getInputBufferSize
public int getInputBufferSize()
- Specified by:
getInputBufferSizein interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getOutputBufferSize
public int getOutputBufferSize()
- Specified by:
getOutputBufferSizein interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getMaxBinaryMessageSize
public long getMaxBinaryMessageSize()
- Specified by:
getMaxBinaryMessageSizein interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getMaxTextMessageSize
public long getMaxTextMessageSize()
- Specified by:
getMaxTextMessageSizein interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getMaxFrameSize
public long getMaxFrameSize()
- Specified by:
getMaxFrameSizein interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
isAutoFragment
public boolean isAutoFragment()
- Specified by:
isAutoFragmentin interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setIdleTimeout
public void setIdleTimeout(java.time.Duration duration)
- Specified by:
setIdleTimeoutin interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setInputBufferSize
public void setInputBufferSize(int size)
- Specified by:
setInputBufferSizein interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setOutputBufferSize
public void setOutputBufferSize(int size)
- Specified by:
setOutputBufferSizein interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setMaxBinaryMessageSize
public void setMaxBinaryMessageSize(long size)
- Specified by:
setMaxBinaryMessageSizein interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setMaxTextMessageSize
public void setMaxTextMessageSize(long size)
- Specified by:
setMaxTextMessageSizein interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setMaxFrameSize
public void setMaxFrameSize(long maxFrameSize)
- Specified by:
setMaxFrameSizein interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setAutoFragment
public void setAutoFragment(boolean autoFragment)
- Specified by:
setAutoFragmentin interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getBindAddress
public java.net.SocketAddress getBindAddress()
-
setBindAddress
public void setBindAddress(java.net.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 java.net.CookieStore getCookieStore()
-
setCookieStore
public void setCookieStore(java.net.CookieStore cookieStore)
-
getBufferPool
public org.eclipse.jetty.io.ByteBufferPool getBufferPool()
-
getExecutor
public java.util.concurrent.Executor getExecutor()
- Specified by:
getExecutorin interfaceorg.eclipse.jetty.websocket.api.WebSocketContainer
-
getHttpClient
public org.eclipse.jetty.client.HttpClient getHttpClient()
-
getObjectFactory
public org.eclipse.jetty.util.DecoratedObjectFactory getObjectFactory()
-
getOpenSessions
public java.util.Collection<org.eclipse.jetty.websocket.api.Session> getOpenSessions()
- Specified by:
getOpenSessionsin interfaceorg.eclipse.jetty.websocket.api.WebSocketContainer
-
getSslContextFactory
public org.eclipse.jetty.util.ssl.SslContextFactory getSslContextFactory()
- Returns:
- the
SslContextFactorythat 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:
Runtime.addShutdownHook(Thread),ShutdownThread
-
setStopTimeout
public void setStopTimeout(long stopTimeout)
The timeout to allow all remaining open Sessions to be closed gracefully using the close codeStatusCode.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 java.lang.Exception- Overrides:
doStopin classorg.eclipse.jetty.util.component.ContainerLifeCycle- Throws:
java.lang.Exception
-
toString
public java.lang.String toString()
- Overrides:
toStringin classorg.eclipse.jetty.util.component.AbstractLifeCycle
-
-