Class JettyWebSocketClient
java.lang.Object
org.springframework.web.socket.client.AbstractWebSocketClient
org.springframework.web.socket.client.jetty.JettyWebSocketClient
- All Implemented Interfaces:
org.springframework.context.Lifecycle,WebSocketClient
public class JettyWebSocketClient
extends AbstractWebSocketClient
implements org.springframework.context.Lifecycle
Initiates WebSocket requests to a WebSocket server programmatically
through the Jetty WebSocket API.
As of 4.1 this class implements Lifecycle rather than
SmartLifecycle. Use
WebSocketConnectionManager instead to auto-start a WebSocket connection.
- Since:
- 4.0
- Author:
- Rossen Stoyanchev, Juergen Hoeller
-
Field Summary
Fields inherited from class org.springframework.web.socket.client.AbstractWebSocketClient
logger -
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor that creates an instance ofWebSocketClient.JettyWebSocketClient(org.eclipse.jetty.websocket.client.WebSocketClient client) Constructor that accepts an existingWebSocketClientinstance. -
Method Summary
Modifier and TypeMethodDescriptionexecuteInternal(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.AsyncTaskExecutorReturn the configuredAsyncTaskExecutor.protected PrincipalgetUser()Return the user to make available throughWebSocketSession.getPrincipal().booleanvoidsetTaskExecutor(org.springframework.core.task.AsyncTaskExecutor taskExecutor) Set anAsyncTaskExecutorto use when opening connections.voidstart()voidstop()Methods inherited from class org.springframework.web.socket.client.AbstractWebSocketClient
assertUri, doHandshakeInternal, execute, executeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.springframework.web.socket.client.WebSocketClient
doHandshake, doHandshake
-
Constructor Details
-
JettyWebSocketClient
public JettyWebSocketClient()Default constructor that creates an instance ofWebSocketClient. -
JettyWebSocketClient
public JettyWebSocketClient(org.eclipse.jetty.websocket.client.WebSocketClient client) Constructor that accepts an existingWebSocketClientinstance.
-
-
Method Details
-
setTaskExecutor
public void setTaskExecutor(@Nullable org.springframework.core.task.AsyncTaskExecutor taskExecutor) Set anAsyncTaskExecutorto use when opening connections.If this property is set to
null, calls to any of thedoHandshakemethods will block until the connection is established.By default an instance of
SimpleAsyncTaskExecutoris used. -
getTaskExecutor
@Nullable public org.springframework.core.task.AsyncTaskExecutor getTaskExecutor()Return the configuredAsyncTaskExecutor. -
start
public void start()- Specified by:
startin interfaceorg.springframework.context.Lifecycle
-
stop
public void stop()- Specified by:
stopin interfaceorg.springframework.context.Lifecycle
-
isRunning
public boolean isRunning()- Specified by:
isRunningin interfaceorg.springframework.context.Lifecycle
-
executeInternal
public CompletableFuture<WebSocketSession> executeInternal(WebSocketHandler wsHandler, org.springframework.http.HttpHeaders headers, URI uri, List<String> protocols, List<WebSocketExtension> extensions, Map<String, Object> attributes) Description copied from class:AbstractWebSocketClientPerform the actual handshake to establish a connection to the server.- Specified by:
executeInternalin classAbstractWebSocketClient- Parameters:
wsHandler- the client-side handler for WebSocket messagesheaders- the HTTP headers to use for the handshake, with unwanted (forbidden) headers filtered out (nevernull)uri- the target URI for the handshake (nevernull)protocols- requested sub-protocols, or an empty listextensions- requested WebSocket extensions, or an empty listattributes- the attributes to associate with the WebSocketSession, i.e. viaWebSocketSession.getAttributes(); currently always an empty map- Returns:
- the established WebSocket session wrapped in a
CompletableFuture.
-
getUser
Return the user to make available throughWebSocketSession.getPrincipal(). By default, this method returnsnull
-