Class StandardWebSocketClient
java.lang.Object
org.springframework.web.socket.client.AbstractWebSocketClient
org.springframework.web.socket.client.standard.StandardWebSocketClient
- All Implemented Interfaces:
WebSocketClient
A WebSocketClient based on standard Java WebSocket API.
- Since:
- 4.0
- Author:
- Rossen Stoyanchev
-
Field Summary
Fields inherited from class org.springframework.web.socket.client.AbstractWebSocketClient
logger
-
Constructor Summary
ConstructorDescriptionDefault constructor that callsContainerProvider.getWebSocketContainer()
to obtain a (new)WebSocketContainer
instance.StandardWebSocketClient
(WebSocketContainer webSocketContainer) Constructor accepting an existingWebSocketContainer
instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected ListenableFuture<WebSocketSession>
doHandshakeInternal
(WebSocketHandler webSocketHandler, 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.Return the configuredTaskExecutor
.The configured user properties.void
setTaskExecutor
(AsyncListenableTaskExecutor taskExecutor) Set anAsyncListenableTaskExecutor
to use when opening connections.void
setUserProperties
(Map<String, Object> userProperties) The standard Java WebSocket API allows passing "user properties" to the server viauserProperties
.Methods inherited from class org.springframework.web.socket.client.AbstractWebSocketClient
assertUri, doHandshake, doHandshake
-
Constructor Details
-
StandardWebSocketClient
public StandardWebSocketClient()Default constructor that callsContainerProvider.getWebSocketContainer()
to obtain a (new)WebSocketContainer
instance. Also see constructor accepting existingWebSocketContainer
instance. -
StandardWebSocketClient
Constructor accepting an existingWebSocketContainer
instance.For XML configuration, see
WebSocketContainerFactoryBean
. For Java configuration, useContainerProvider.getWebSocketContainer()
to obtain theWebSocketContainer
instance.
-
-
Method Details
-
setUserProperties
The standard Java WebSocket API allows passing "user properties" to the server viauserProperties
. Use this property to configure one or more properties to be passed on every handshake. -
getUserProperties
The configured user properties. -
setTaskExecutor
Set anAsyncListenableTaskExecutor
to use when opening connections. If this property is set tonull
, calls to any of thedoHandshake
methods will block until the connection is established.By default, an instance of
SimpleAsyncTaskExecutor
is used. -
getTaskExecutor
Return the configuredTaskExecutor
. -
doHandshakeInternal
protected ListenableFuture<WebSocketSession> doHandshakeInternal(WebSocketHandler webSocketHandler, HttpHeaders headers, URI uri, List<String> protocols, List<WebSocketExtension> extensions, Map<String, Object> attributes) Description copied from class:AbstractWebSocketClient
Perform the actual handshake to establish a connection to the server.- Specified by:
doHandshakeInternal
in classAbstractWebSocketClient
- Parameters:
webSocketHandler
- 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 ListenableFuture.
-