Class IntegrationWebSocketContainer
java.lang.Object
org.springframework.integration.websocket.IntegrationWebSocketContainer
- All Implemented Interfaces:
org.springframework.beans.factory.DisposableBean
- Direct Known Subclasses:
ClientWebSocketContainer,ServerWebSocketContainer
public abstract class IntegrationWebSocketContainer
extends Object
implements org.springframework.beans.factory.DisposableBean
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
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intprotected final org.apache.commons.logging.Log -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSupportedProtocols(String... protocols) voidcloseSession(org.springframework.web.socket.WebSocketSession session, org.springframework.web.socket.CloseStatus closeStatus) voiddestroy()org.springframework.web.socket.WebSocketSessiongetSession(String sessionId) org.springframework.web.socket.WebSocketHandlervoidsetMessageListener(WebSocketListener messageListener) voidsetSendBufferOverflowStrategy(org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator.OverflowStrategy overflowStrategy) Set the send buffer overflow strategy.voidsetSendBufferSizeLimit(int sendBufferSizeLimit) voidsetSendTimeLimit(int sendTimeLimit) voidsetSupportedProtocols(String... protocols) protected voidsetWebSocketHandler(org.springframework.web.socket.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
protected final org.apache.commons.logging.Log 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 org.springframework.web.socket.handler.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:
-
ConcurrentWebSocketSessionDecorator
-
setMessageListener
-
setSupportedProtocols
-
addSupportedProtocols
-
setWebSocketHandler
protected void setWebSocketHandler(org.springframework.web.socket.WebSocketHandler handler) Replace the defaultWebSocketHandlerwith the one provided here, e.g. via decoration factories.- Parameters:
handler- the actualWebSocketHandlerto replace.- Since:
- 5.5.18
-
getWebSocketHandler
public org.springframework.web.socket.WebSocketHandler getWebSocketHandler() -
getSubProtocols
-
getSessions
-
getSession
-
closeSession
public void closeSession(org.springframework.web.socket.WebSocketSession session, org.springframework.web.socket.CloseStatus closeStatus) throws Exception - Throws:
Exception
-
destroy
public void destroy()- Specified by:
destroyin interfaceorg.springframework.beans.factory.DisposableBean
-