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:
Container,Destroyable,Dumpable,Dumpable.DumpableContainer,LifeCycle,WebSocketContainerScope
WebSocketClient provides a means of establishing connections to remote websocket endpoints.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.ListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener -
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionInstantiate a WebSocketClient with defaults.WebSocketClient(Executor executor) Deprecated.WebSocketClient(HttpClient httpClient) Instantiate a WebSocketClient using provided HttpClient.WebSocketClient(HttpClient httpClient, DecoratedObjectFactory decoratedObjectFactory) Instantiate a WebSocketClient using HttpClient for defaultsWebSocketClient(ByteBufferPool bufferPool) Deprecated.useWebSocketClient(HttpClient)insteadWebSocketClient(SslContextFactory sslContextFactory) Deprecated.useWebSocketClient(HttpClient)insteadWebSocketClient(SslContextFactory sslContextFactory, Executor executor) Deprecated.useWebSocketClient(HttpClient)insteadWebSocketClient(SslContextFactory sslContextFactory, Executor executor, ByteBufferPool bufferPool) Deprecated.useWebSocketClient(HttpClient)insteadDeprecated.useWebSocketClient(HttpClient)insteadWebSocketClient(WebSocketContainerScope scope, SslContextFactory sslContextFactory) Deprecated.useWebSocketClient(HttpClient)insteadWebSocketClient(WebSocketContainerScope scope, EventDriverFactory eventDriverFactory, SessionFactory sessionFactory) Deprecated.WebSocketClient(WebSocketContainerScope scope, EventDriverFactory eventDriverFactory, SessionFactory sessionFactory, HttpClient httpClient) Create WebSocketClient based on pre-existing Container Scope, to allow sharing of internal features like Executor, ByteBufferPool, SSLContextFactory, etc. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSessionListener(WebSocketSessionListener listener) Future<org.eclipse.jetty.websocket.api.Session>Future<org.eclipse.jetty.websocket.api.Session>connect(Object websocket, URI toUri, ClientUpgradeRequest request) Connect to remote websocket endpointFuture<org.eclipse.jetty.websocket.api.Session>connect(Object websocket, URI toUri, ClientUpgradeRequest request, UpgradeListener upgradeListener) Connect to remote websocket endpointprotected voiddoStart()protected voiddoStop()booleanlongDeprecated.Deprecated.longorg.eclipse.jetty.websocket.api.extensions.ExtensionFactoryGet the internalHttpClient.Deprecated.not used, no replacementintGet the maximum size for buffering of a binary message.longGet the maximum size for a binary message.longGet the max idle timeout for new connections.intGet the maximum size for buffering of a text message.longGet the maximum size for a text message.org.eclipse.jetty.websocket.api.WebSocketPolicyGet the in useSslContextFactoryinthashCode()booleanDeprecated.booleanprotected ConnectionManagerDeprecated.has no replacementvoidvoidsetAsyncWriteTimeout(long ms) voidsetBindAdddress(SocketAddress bindAddress) Deprecated.(this is a bad bad bad typo, it has 3 { @ code " d " } characters in a row) useHttpClient.setBindAddress(SocketAddress)to the internalWebSocketClient(HttpClient)voidsetBindAddress(SocketAddress bindAddress) Sets the Bind Address on the internalHttpClient.voidsetBufferPool(ByteBufferPool bufferPool) Set's the Bind Address on the internalHttpClient.voidsetConnectTimeout(long ms) Set the timeout for connecting to the remote server on the internalHttpClientvoidsetCookieStore(CookieStore cookieStore) Set theCookieStoreto use on the internalHttpClientvoidsetDaemon(boolean daemon) Deprecated.not used, configure threading inHttpClientinsteadvoidsetDispatchIO(boolean dispatchIO) Deprecated.no longer used, this has no replacementvoidsetEventDriverFactory(EventDriverFactory eventDriverFactory) voidsetExecutor(Executor executor) Sets the Executor in use on the internalHttpClientvoidDeprecated.not used, no replacementvoidsetMaxBinaryMessageBufferSize(int max) voidsetMaxIdleTimeout(long ms) Set the max idle timeout for new connections.voidsetMaxTextMessageBufferSize(int max) voidsetSessionFactory(SessionFactory sessionFactory) voidsetStopAtShutdown(boolean stop) Set JVM shutdown behavior.toString()Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeansMethods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stopMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpableMethods inherited from interface org.eclipse.jetty.websocket.common.scopes.WebSocketContainerScope
isRunning
-
Constructor Details
-
WebSocketClient
public WebSocketClient()Instantiate a WebSocketClient with defaults. -
WebSocketClient
Instantiate a WebSocketClient using provided HttpClient.- Parameters:
httpClient- the HttpClient to use for WebSocketClient.
-
WebSocketClient
Instantiate a WebSocketClient using HttpClient for defaults- Parameters:
httpClient- the HttpClient that underlying WebSocket client usesdecoratedObjectFactory- the DecoratedObjectFactory for all client instantiated classes
-
WebSocketClient
Deprecated.useWebSocketClient(HttpClient)insteadCreate a new WebSocketClient- Parameters:
sslContextFactory- ssl context factory to use on the internalHttpClient
-
WebSocketClient
Deprecated.useWebSocketClient(HttpClient)insteadCreate a new WebSocketClient- Parameters:
executor- the executor to use on the internalHttpClient
-
WebSocketClient
Deprecated.useWebSocketClient(HttpClient)insteadCreate a new WebSocketClient- Parameters:
bufferPool- byte buffer pool to use on the internalHttpClient
-
WebSocketClient
Deprecated.useWebSocketClient(HttpClient)insteadCreate a new WebSocketClient- Parameters:
sslContextFactory- ssl context factory to use on the internalHttpClientexecutor- the executor to use on the internalHttpClient
-
WebSocketClient
Deprecated.useWebSocketClient(HttpClient)insteadCreate WebSocketClient other Container Scope, to allow sharing of internal features like Executor, ByteBufferPool, SSLContextFactory, etc.- Parameters:
scope- the Container Scope
-
WebSocketClient
@Deprecated public WebSocketClient(WebSocketContainerScope scope, SslContextFactory sslContextFactory) Deprecated.useWebSocketClient(HttpClient)insteadCreate WebSocketClient other Container Scope, to allow sharing of internal features like Executor, ByteBufferPool, SSLContextFactory, etc.- Parameters:
scope- the Container ScopesslContextFactory- SSL ContextFactory to use in preference to one fromWebSocketContainerScope.getSslContextFactory()
-
WebSocketClient
@Deprecated public WebSocketClient(SslContextFactory sslContextFactory, Executor executor, ByteBufferPool bufferPool) Deprecated.useWebSocketClient(HttpClient)insteadCreate WebSocketClient using sharing instances of SSLContextFactory Executor, and ByteBufferPool- Parameters:
sslContextFactory- shared SSL ContextFactoryexecutor- shared ExecutorbufferPool- shared ByteBufferPool
-
WebSocketClient
@Deprecated public WebSocketClient(WebSocketContainerScope scope, EventDriverFactory eventDriverFactory, SessionFactory sessionFactory) Deprecated.Create WebSocketClient based on pre-existing Container Scope, to allow sharing of internal features like Executor, ByteBufferPool, SSLContextFactory, etc.- Parameters:
scope- the Container ScopeeventDriverFactory- the EventDriver Factory to usesessionFactory- the SessionFactory to use
-
WebSocketClient
public WebSocketClient(WebSocketContainerScope scope, EventDriverFactory eventDriverFactory, SessionFactory sessionFactory, HttpClient httpClient) Create WebSocketClient based on pre-existing Container Scope, to allow sharing of internal features like Executor, ByteBufferPool, SSLContextFactory, etc.- Parameters:
scope- the Container ScopeeventDriverFactory- the EventDriver Factory to usesessionFactory- the SessionFactory to usehttpClient- the httpClient to use
-
-
Method Details
-
connect
public Future<org.eclipse.jetty.websocket.api.Session> connect(Object websocket, URI toUri) throws IOException - Throws:
IOException
-
connect
public Future<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 Future<org.eclipse.jetty.websocket.api.Session> connect(Object websocket, URI toUri, ClientUpgradeRequest request, UpgradeListener 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
-
getClassLoader
- Specified by:
getClassLoaderin interfaceWebSocketContainerScope
-
setEventDriverFactory
-
setSessionFactory
-
doStart
- Overrides:
doStartin classContainerLifeCycle- Throws:
Exception
-
doStop
- Overrides:
doStopin classContainerLifeCycle- Throws:
Exception
-
isDispatchIO
Deprecated. -
getAsyncWriteTimeout
Deprecated.Return the number of milliseconds for a timeout of an attempted write operation.- Returns:
- number of milliseconds for timeout of an attempted write operation
-
getBindAddress
-
getBufferPool
- Specified by:
getBufferPoolin interfaceWebSocketContainerScope
-
getConnectionManager
Deprecated. -
getConnectTimeout
public long getConnectTimeout() -
getCookieStore
-
getEventDriverFactory
-
getExecutor
- Specified by:
getExecutorin interfaceWebSocketContainerScope
-
getExtensionFactory
public org.eclipse.jetty.websocket.api.extensions.ExtensionFactory getExtensionFactory() -
getMasker
Deprecated.not used, no replacement- Returns:
- a
RandomMaskerinstance
-
getMaxBinaryMessageBufferSize
public int getMaxBinaryMessageBufferSize()Get the maximum size for buffering of a binary message.- Returns:
- the maximum size of a binary message buffer.
-
getMaxBinaryMessageSize
public long getMaxBinaryMessageSize()Get the maximum size for a binary message.- Returns:
- the maximum size of a binary message.
-
getMaxIdleTimeout
public long getMaxIdleTimeout()Get the max idle timeout for new connections.- Returns:
- the max idle timeout in milliseconds for new connections.
-
getMaxTextMessageBufferSize
public int getMaxTextMessageBufferSize()Get the maximum size for buffering of a text message.- Returns:
- the maximum size of a text message buffer.
-
getMaxTextMessageSize
public long getMaxTextMessageSize()Get the maximum size for a text message.- Returns:
- the maximum size of a text message.
-
getObjectFactory
- Specified by:
getObjectFactoryin interfaceWebSocketContainerScope
-
getOpenSessions
-
getPolicy
public org.eclipse.jetty.websocket.api.WebSocketPolicy getPolicy()- Specified by:
getPolicyin interfaceWebSocketContainerScope
-
getScheduler
-
getSessionFactory
-
getSslContextFactory
Get the in useSslContextFactory- Specified by:
getSslContextFactoryin interfaceWebSocketContainerScope- Returns:
- the
SslContextFactorythat manages TLS encryption on the internalHttpClient - See Also:
-
addSessionListener
- Specified by:
addSessionListenerin interfaceWebSocketContainerScope
-
removeSessionListener
- Specified by:
removeSessionListenerin interfaceWebSocketContainerScope
-
getSessionListeners
- Specified by:
getSessionListenersin interfaceWebSocketContainerScope
-
newConnectionManager
Deprecated.has no replacementFactory method for new ConnectionManager- Returns:
- the ConnectionManager instance to use
-
setAsyncWriteTimeout
public void setAsyncWriteTimeout(long ms) -
setBindAdddress
Deprecated.(this is a bad bad bad typo, it has 3 { @ code " d " } characters in a row) useHttpClient.setBindAddress(SocketAddress)to the internalWebSocketClient(HttpClient)- Parameters:
bindAddress- the address to bind to the internalHttpClient
-
setBindAddress
Sets the Bind Address on the internalHttpClient.- Parameters:
bindAddress- the local bind address for the internalHttpClient
-
setBufferPool
Set's the Bind Address on the internalHttpClient.- Parameters:
bufferPool- The buffer pool
-
setConnectTimeout
public void setConnectTimeout(long ms) Set the timeout for connecting to the remote server on the internalHttpClient- Parameters:
ms- the timeout in milliseconds
-
setCookieStore
Set theCookieStoreto use on the internalHttpClient- Parameters:
cookieStore- The cookie store
-
setDaemon
Deprecated.not used, configure threading inHttpClientinstead- Parameters:
daemon- do nothing
-
setDispatchIO
Deprecated.no longer used, this has no replacement- Parameters:
dispatchIO- true to have IO operations be dispatched to Executor
-
setExecutor
Sets the Executor in use on the internalHttpClient- Parameters:
executor- The executor to use
-
setMasker
Deprecated.not used, no replacement- Parameters:
masker- does nothing
-
setMaxBinaryMessageBufferSize
public void setMaxBinaryMessageBufferSize(int max) -
setMaxIdleTimeout
public void setMaxIdleTimeout(long ms) Set the max idle timeout for new connections.Existing connections will not have their max idle timeout adjusted.
- Parameters:
ms- the timeout in milliseconds
-
setMaxTextMessageBufferSize
public void setMaxTextMessageBufferSize(int max) -
getHttpClient
Get the internalHttpClient.Note: this can result in a
LinkageErrorif used within a WebApp that runs on a server that also hasHttpClienton the server classpath.- Returns:
- the internal
HttpClient
-
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:
-
isStopAtShutdown
public boolean isStopAtShutdown() -
equals
-
hashCode
public int hashCode() -
toString
- Overrides:
toStringin classAbstractLifeCycle
-
WebSocketClient(HttpClient)instead