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
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
ConstructorsConstructorDescriptionInstantiates a WebSocketClient with a defaultHttpClient
.WebSocketClient
(org.eclipse.jetty.client.HttpClient httpClient) Instantiates a WebSocketClient with the givenHttpClient
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addSessionListener
(org.eclipse.jetty.websocket.api.WebSocketSessionListener listener) CompletableFuture
<org.eclipse.jetty.websocket.api.Session> CompletableFuture
<org.eclipse.jetty.websocket.api.Session> connect
(Object websocket, URI toUri, ClientUpgradeRequest request) Connect to remote websocket endpointCompletableFuture
<org.eclipse.jetty.websocket.api.Session> connect
(Object websocket, URI toUri, ClientUpgradeRequest request, JettyUpgradeListener upgradeListener) Connect to remote websocket endpointprotected void
doStop()
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
setBindAddress
(SocketAddress bindAddress) void
setConnectTimeout
(long ms) Set the timeout for connecting to the remote server.void
setCookieStore
(CookieStore cookieStore) void
setIdleTimeout
(Duration duration) void
setInputBufferSize
(int size) void
setMaxBinaryMessageSize
(long size) void
setMaxFrameSize
(long maxFrameSize) void
setMaxTextMessageSize
(long size) void
setOutputBufferSize
(int size) 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 codeStatusCode.SHUTDOWN
.toString()
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 defaultHttpClient
. -
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 objecttoUri
- the websocket uri to connect torequest
- 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 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:
IOException
- if unable to connect
-
dump
- Specified by:
dump
in interfaceorg.eclipse.jetty.util.component.Dumpable
- Overrides:
dump
in classorg.eclipse.jetty.util.component.ContainerLifeCycle
- Throws:
IOException
-
getBehavior
public org.eclipse.jetty.websocket.api.WebSocketBehavior getBehavior()- Specified by:
getBehavior
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
addSessionListener
public void addSessionListener(org.eclipse.jetty.websocket.api.WebSocketSessionListener listener) - Specified by:
addSessionListener
in interfaceorg.eclipse.jetty.websocket.api.WebSocketContainer
-
removeSessionListener
public boolean removeSessionListener(org.eclipse.jetty.websocket.api.WebSocketSessionListener listener) - Specified by:
removeSessionListener
in interfaceorg.eclipse.jetty.websocket.api.WebSocketContainer
-
notifySessionListeners
public void notifySessionListeners(Consumer<org.eclipse.jetty.websocket.api.WebSocketSessionListener> consumer) - Specified by:
notifySessionListeners
in interfaceorg.eclipse.jetty.websocket.api.WebSocketContainer
-
getIdleTimeout
- Specified by:
getIdleTimeout
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getInputBufferSize
public int getInputBufferSize()- Specified by:
getInputBufferSize
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getOutputBufferSize
public int getOutputBufferSize()- Specified by:
getOutputBufferSize
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getMaxBinaryMessageSize
public long getMaxBinaryMessageSize()- Specified by:
getMaxBinaryMessageSize
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getMaxTextMessageSize
public long getMaxTextMessageSize()- Specified by:
getMaxTextMessageSize
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getMaxFrameSize
public long getMaxFrameSize()- Specified by:
getMaxFrameSize
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
isAutoFragment
public boolean isAutoFragment()- Specified by:
isAutoFragment
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setIdleTimeout
- Specified by:
setIdleTimeout
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setInputBufferSize
public void setInputBufferSize(int size) - Specified by:
setInputBufferSize
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setOutputBufferSize
public void setOutputBufferSize(int size) - Specified by:
setOutputBufferSize
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setMaxBinaryMessageSize
public void setMaxBinaryMessageSize(long size) - Specified by:
setMaxBinaryMessageSize
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setMaxTextMessageSize
public void setMaxTextMessageSize(long size) - Specified by:
setMaxTextMessageSize
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setMaxFrameSize
public void setMaxFrameSize(long maxFrameSize) - Specified by:
setMaxFrameSize
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
setAutoFragment
public void setAutoFragment(boolean autoFragment) - Specified by:
setAutoFragment
in interfaceorg.eclipse.jetty.websocket.api.WebSocketPolicy
-
getBindAddress
-
setBindAddress
-
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
-
setCookieStore
-
getBufferPool
public org.eclipse.jetty.io.ByteBufferPool getBufferPool() -
getExecutor
- Specified by:
getExecutor
in interfaceorg.eclipse.jetty.websocket.api.WebSocketContainer
-
getHttpClient
public org.eclipse.jetty.client.HttpClient getHttpClient() -
getObjectFactory
public org.eclipse.jetty.util.DecoratedObjectFactory getObjectFactory() -
getOpenSessions
- Specified by:
getOpenSessions
in interfaceorg.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 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
- Overrides:
doStop
in classorg.eclipse.jetty.util.component.ContainerLifeCycle
- Throws:
Exception
-
toString
- Overrides:
toString
in classorg.eclipse.jetty.util.component.AbstractLifeCycle
-