Class ClientWebSocketContainer
java.lang.Object
org.springframework.integration.websocket.IntegrationWebSocketContainer
org.springframework.integration.websocket.ClientWebSocketContainer
- All Implemented Interfaces:
DisposableBean
,Lifecycle
,Phased
,SmartLifecycle
public final class ClientWebSocketContainer
extends IntegrationWebSocketContainer
implements SmartLifecycle
The
IntegrationWebSocketContainer
implementation for the client
Web-Socket connection.
Represent the composition over an internal ConnectionManagerSupport
implementation.
Accepts the clientSession
WebSocketSession
on
ConnectionManagerSupport.openConnection()
event, which can be accessed from this container using getSession(String)
.
- Since:
- 4.1
- Author:
- Artem Bilan, Gary Russell, Christian Tzolov
-
Field Summary
Fields inherited from class org.springframework.integration.websocket.IntegrationWebSocketContainer
DEFAULT_SEND_BUFFER_SIZE, DEFAULT_SEND_TIME_LIMIT, lock, logger, sessions
Fields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE
-
Constructor Summary
ConstructorsConstructorDescriptionClientWebSocketContainer
(WebSocketClient client, String uriTemplate, Object... uriVariables) ClientWebSocketContainer
(WebSocketClient client, URI uri) Constructor with a preparedURI
. -
Method Summary
Modifier and TypeMethodDescriptionint
getPhase()
getSession
(@Nullable String sessionId) Return theclientSession
WebSocketSession
.boolean
boolean
Returntrue
if theclientSession
is opened.boolean
void
setAutoStartup
(boolean autoStartup) void
setConnectionTimeout
(int connectionTimeout) Set the connection timeout in seconds; default: 10.void
setHeaders
(HttpHeaders headers) void
setHeadersMap
(Map<String, String> headers) void
void
setPhase
(int phase) void
start()
void
stop()
void
Methods inherited from class org.springframework.integration.websocket.IntegrationWebSocketContainer
addSupportedProtocols, closeSession, destroy, getSessions, getSubProtocols, getWebSocketHandler, setMessageListener, setSendBufferOverflowStrategy, setSendBufferSizeLimit, setSendTimeLimit, setSupportedProtocols, setWebSocketHandler
-
Constructor Details
-
ClientWebSocketContainer
-
ClientWebSocketContainer
Constructor with a preparedURI
.- Parameters:
client
- theWebSocketClient
to use.uri
- the url to connect to- Since:
- 6.1
-
-
Method Details
-
setOrigin
-
setHeadersMap
-
setHeaders
-
setConnectionTimeout
public void setConnectionTimeout(int connectionTimeout) Set the connection timeout in seconds; default: 10.- Parameters:
connectionTimeout
- the timeout in seconds.- Since:
- 4.2
-
getSession
Return theclientSession
WebSocketSession
. Independently of provided argument, this method always returns only the establishedclientSession
- Overrides:
getSession
in classIntegrationWebSocketContainer
- Parameters:
sessionId
- thesessionId
. Can benull
.- Returns:
- the
clientSession
, if established.
-
setAutoStartup
public void setAutoStartup(boolean autoStartup) -
setPhase
public void setPhase(int phase) -
isConnected
public boolean isConnected()Returntrue
if theclientSession
is opened.- Returns:
- the
WebSocketSession.isOpen()
state. - Since:
- 4.2.6
-
isAutoStartup
public boolean isAutoStartup()- Specified by:
isAutoStartup
in interfaceSmartLifecycle
-
getPhase
public int getPhase()- Specified by:
getPhase
in interfacePhased
- Specified by:
getPhase
in interfaceSmartLifecycle
-
isRunning
-
start
-
stop
-
stop
- Specified by:
stop
in interfaceSmartLifecycle
-