Class IntegrationWebSocketContainer
java.lang.Object
org.springframework.integration.websocket.IntegrationWebSocketContainer
- All Implemented Interfaces:
DisposableBean
- Direct Known Subclasses:
ClientWebSocketContainer,ServerWebSocketContainer
The high-level 'connection factory pattern' contract over low-level Web-Socket
configuration.
Provides the composition for the internal WebSocketHandler
implementation, which is used with native Web-Socket containers.
Collects established WebSocketSessions, which can be accessed using
getSession(String).
Can accept the WebSocketListener to delegate WebSocketSession events
from the internal IntegrationWebSocketContainer.IntegrationWebSocketHandler.
Supported sub-protocols can be configured, but SubProtocolCapable.getSubProtocols()
have a precedent.
- Since:
- 4.1
- Author:
- Artem Bilan, Gary Russell, Julian Koch
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intprotected final Logprotected final Map<String,WebSocketSession> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSupportedProtocols(String... protocols) voidcloseSession(WebSocketSession session, CloseStatus closeStatus) voiddestroy()getSession(String sessionId) voidsetMessageListener(WebSocketListener messageListener) voidsetSendBufferOverflowStrategy(ConcurrentWebSocketSessionDecorator.OverflowStrategy overflowStrategy) Set the send buffer overflow strategy.voidsetSendBufferSizeLimit(int sendBufferSizeLimit) voidsetSendTimeLimit(int sendTimeLimit) voidsetSupportedProtocols(String... protocols) protected voidsetWebSocketHandler(WebSocketHandler handler) Replace the defaultWebSocketHandlerwith the one provided here, e.g.
-
Field Details
-
DEFAULT_SEND_TIME_LIMIT
public static final int DEFAULT_SEND_TIME_LIMIT- See Also:
-
DEFAULT_SEND_BUFFER_SIZE
public static final int DEFAULT_SEND_BUFFER_SIZE- See Also:
-
logger
-
sessions
-
-
Constructor Details
-
IntegrationWebSocketContainer
public IntegrationWebSocketContainer()
-
-
Method Details
-
setSendTimeLimit
public void setSendTimeLimit(int sendTimeLimit) -
setSendBufferSizeLimit
public void setSendBufferSizeLimit(int sendBufferSizeLimit) -
setSendBufferOverflowStrategy
public void setSendBufferOverflowStrategy(@Nullable ConcurrentWebSocketSessionDecorator.OverflowStrategy overflowStrategy) Set the send buffer overflow strategy.Concurrently generated outbound messages are buffered if sending is slow. This strategy determines the behavior when the buffer has reached the limit configured with
setSendBufferSizeLimit(int).- Parameters:
overflowStrategy- TheConcurrentWebSocketSessionDecorator.OverflowStrategyto use.- Since:
- 5.5.19
- See Also:
-
setMessageListener
-
setSupportedProtocols
-
addSupportedProtocols
-
setWebSocketHandler
Replace the defaultWebSocketHandlerwith the one provided here, e.g. via decoration factories.- Parameters:
handler- the actualWebSocketHandlerto replace.- Since:
- 5.5.18
-
getWebSocketHandler
-
getSubProtocols
-
getSessions
-
getSession
-
closeSession
- Throws:
Exception
-
destroy
public void destroy()- Specified by:
destroyin interfaceDisposableBean
-