public class JettyWebSocketClient extends AbstractWebSocketClient implements Lifecycle
As of 4.1 this class implements Lifecycle rather than
SmartLifecycle. Use
WebSocketConnectionManager instead to auto-start a WebSocket connection.
logger| Constructor and Description |
|---|
JettyWebSocketClient()
Default constructor that creates an instance of
WebSocketClient. |
JettyWebSocketClient(org.eclipse.jetty.websocket.client.WebSocketClient client)
Constructor that accepts an existing
WebSocketClient instance. |
| Modifier and Type | Method and Description |
|---|---|
ListenableFuture<WebSocketSession> |
doHandshake(WebSocketHandler webSocketHandler,
String uriTemplate,
Object... uriVars) |
ListenableFuture<WebSocketSession> |
doHandshakeInternal(WebSocketHandler wsHandler,
HttpHeaders headers,
URI uri,
List<String> protocols,
List<WebSocketExtension> extensions,
Map<String,Object> attributes)
Perform the actual handshake to establish a connection to the server.
|
AsyncListenableTaskExecutor |
getTaskExecutor()
Return the configured
TaskExecutor. |
protected Principal |
getUser() |
boolean |
isRunning()
Check whether this component is currently running.
|
void |
setTaskExecutor(AsyncListenableTaskExecutor taskExecutor)
Set an
AsyncListenableTaskExecutor to use when opening connections. |
void |
start()
Start this component.
|
void |
stop()
Stop this component, typically in a synchronous fashion, such that
the component is fully stopped upon return of this method.
|
assertUri, doHandshakepublic JettyWebSocketClient()
WebSocketClient.public JettyWebSocketClient(org.eclipse.jetty.websocket.client.WebSocketClient client)
WebSocketClient instance.public void setTaskExecutor(AsyncListenableTaskExecutor taskExecutor)
AsyncListenableTaskExecutor to use when opening connections.
If this property is set to null, calls to any of the
doHandshake methods will block until the connection is established.
By default an instance of SimpleAsyncTaskExecutor is used.
public AsyncListenableTaskExecutor getTaskExecutor()
TaskExecutor.public boolean isRunning()
LifecycleIn the case of a container, this will return true
only if all components that apply are currently running.
public void start()
LifecycleIn the case of a container, this will propagate the start signal to all components that apply.
public void stop()
LifecycleSmartLifecycle and its stop(Runnable)
variant in cases where asynchronous stop behavior is necessary.
Should not throw an exception if the component isn't started yet.
In the case of a container, this will propagate the stop signal to all components that apply.
stop in interface LifecycleSmartLifecycle.stop(Runnable)public ListenableFuture<WebSocketSession> doHandshake(WebSocketHandler webSocketHandler, String uriTemplate, Object... uriVars)
doHandshake in interface WebSocketClientdoHandshake in class AbstractWebSocketClientpublic ListenableFuture<WebSocketSession> doHandshakeInternal(WebSocketHandler wsHandler, HttpHeaders headers, URI uri, List<String> protocols, List<WebSocketExtension> extensions, Map<String,Object> attributes)
AbstractWebSocketClientdoHandshakeInternal in class AbstractWebSocketClientwsHandler - the client-side handler for WebSocket messagesheaders - HTTP headers to use for the handshake, with unwanted (forbidden)
headers filtered out, never nulluri - the target URI for the handshake, never nullprotocols - requested sub-protocols, or an empty listextensions - requested WebSocket extensions, or an empty listattributes - attributes to associate with the WebSocketSession, i.e. via
WebSocketSession.getAttributes(); currently always an empty map.protected Principal getUser()
WebSocketSession.getPrincipal();
by default this method returns null