public class JettyWebSocketClient extends AbstractWebSocketClient implements org.springframework.context.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 |
---|---|
org.springframework.util.concurrent.ListenableFuture<WebSocketSession> |
doHandshake(WebSocketHandler webSocketHandler,
String uriTemplate,
Object... uriVars) |
org.springframework.util.concurrent.ListenableFuture<WebSocketSession> |
doHandshakeInternal(WebSocketHandler wsHandler,
org.springframework.http.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.
|
org.springframework.core.task.AsyncListenableTaskExecutor |
getTaskExecutor()
Return the configured
TaskExecutor . |
protected Principal |
getUser() |
boolean |
isRunning() |
void |
setTaskExecutor(org.springframework.core.task.AsyncListenableTaskExecutor taskExecutor)
Set an
AsyncListenableTaskExecutor to use when opening connections. |
void |
start() |
void |
stop() |
assertUri, doHandshake
public JettyWebSocketClient()
WebSocketClient
.public JettyWebSocketClient(org.eclipse.jetty.websocket.client.WebSocketClient client)
WebSocketClient
instance.public void setTaskExecutor(org.springframework.core.task.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 org.springframework.core.task.AsyncListenableTaskExecutor getTaskExecutor()
TaskExecutor
.public boolean isRunning()
isRunning
in interface org.springframework.context.Lifecycle
public void start()
start
in interface org.springframework.context.Lifecycle
public void stop()
stop
in interface org.springframework.context.Lifecycle
public org.springframework.util.concurrent.ListenableFuture<WebSocketSession> doHandshake(WebSocketHandler webSocketHandler, String uriTemplate, Object... uriVars)
doHandshake
in interface WebSocketClient
doHandshake
in class AbstractWebSocketClient
public org.springframework.util.concurrent.ListenableFuture<WebSocketSession> doHandshakeInternal(WebSocketHandler wsHandler, org.springframework.http.HttpHeaders headers, URI uri, List<String> protocols, List<WebSocketExtension> extensions, Map<String,Object> attributes)
AbstractWebSocketClient
doHandshakeInternal
in class AbstractWebSocketClient
wsHandler
- the client-side handler for WebSocket messagesheaders
- HTTP headers to use for the handshake, with unwanted (forbidden)
headers filtered out, never null
uri
- the target URI for the handshake, never null
protocols
- 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