Class AbstractWebSocketSession<T>
java.lang.Object
org.springframework.web.reactive.socket.adapter.AbstractWebSocketSession<T>
- Type Parameters:
T- the native delegate type
- All Implemented Interfaces:
WebSocketSession
- Direct Known Subclasses:
AbstractListenerWebSocketSession,JettyWebSocketSession,Netty5WebSocketSessionSupport,NettyWebSocketSessionSupport
Convenient base class for
WebSocketSession implementations that
holds common fields and exposes accessors. Also implements the
WebSocketMessage factory methods.- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractWebSocketSession(T delegate, String id, HandshakeInfo info, org.springframework.core.io.buffer.DataBufferFactory bufferFactory) Create a new WebSocket session. -
Method Summary
Modifier and TypeMethodDescriptionbinaryMessage(Function<org.springframework.core.io.buffer.DataBufferFactory, org.springframework.core.io.buffer.DataBuffer> payloadFactory) Factory method to create a binary WebSocketMessage using theWebSocketSession.bufferFactory()for the session.org.springframework.core.io.buffer.DataBufferFactoryReturn aDataBufferFactory to create message payloads.Return the map with attributes associated with the WebSocket session.protected TReturn information from the handshake request.getId()Return the id for the session.protected StringpingMessage(Function<org.springframework.core.io.buffer.DataBufferFactory, org.springframework.core.io.buffer.DataBuffer> payloadFactory) Factory method to create a ping WebSocketMessage using theWebSocketSession.bufferFactory()for the session.pongMessage(Function<org.springframework.core.io.buffer.DataBufferFactory, org.springframework.core.io.buffer.DataBuffer> payloadFactory) Factory method to create a pong WebSocketMessage using theWebSocketSession.bufferFactory()for the session.abstract reactor.core.publisher.Flux<WebSocketMessage>receive()Provides access to the stream of inbound messages.abstract reactor.core.publisher.Mono<Void>send(Publisher<WebSocketMessage> messages) Give a source of outgoing messages, write the messages and return aMono<Void>that completes when the source completes and writing is done.textMessage(String payload) Factory method to create a textWebSocketMessageusing theWebSocketSession.bufferFactory()for the session.toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.web.reactive.socket.WebSocketSession
close, close, closeStatus, isOpen
-
Field Details
-
logger
protected final org.apache.commons.logging.Log logger
-
-
Constructor Details
-
AbstractWebSocketSession
protected AbstractWebSocketSession(T delegate, String id, HandshakeInfo info, org.springframework.core.io.buffer.DataBufferFactory bufferFactory) Create a new WebSocket session.
-
-
Method Details
-
getDelegate
-
getId
Description copied from interface:WebSocketSessionReturn the id for the session.- Specified by:
getIdin interfaceWebSocketSession
-
getHandshakeInfo
Description copied from interface:WebSocketSessionReturn information from the handshake request.- Specified by:
getHandshakeInfoin interfaceWebSocketSession
-
bufferFactory
public org.springframework.core.io.buffer.DataBufferFactory bufferFactory()Description copied from interface:WebSocketSessionReturn aDataBufferFactory to create message payloads.- Specified by:
bufferFactoryin interfaceWebSocketSession- Returns:
- the buffer factory for the session
-
getAttributes
Description copied from interface:WebSocketSessionReturn the map with attributes associated with the WebSocket session.- Specified by:
getAttributesin interfaceWebSocketSession- Returns:
- a Map with the session attributes (never
null)
-
getLogPrefix
-
receive
Description copied from interface:WebSocketSessionProvides access to the stream of inbound messages.This stream receives a completion or error signal when the connection is closed. In a typical
WebSocketHandlerimplementation this stream is composed into the overall processing flow, so that when the connection is closed, handling will end.See the class-level doc of
WebSocketHandlerand the reference for more details and examples of how to handle the session.- Specified by:
receivein interfaceWebSocketSession
-
send
Description copied from interface:WebSocketSessionGive a source of outgoing messages, write the messages and return aMono<Void>that completes when the source completes and writing is done.See the class-level doc of
WebSocketHandlerand the reference for more details and examples of how to handle the session.- Specified by:
sendin interfaceWebSocketSession
-
textMessage
Description copied from interface:WebSocketSessionFactory method to create a textWebSocketMessageusing theWebSocketSession.bufferFactory()for the session.- Specified by:
textMessagein interfaceWebSocketSession
-
binaryMessage
public WebSocketMessage binaryMessage(Function<org.springframework.core.io.buffer.DataBufferFactory, org.springframework.core.io.buffer.DataBuffer> payloadFactory) Description copied from interface:WebSocketSessionFactory method to create a binary WebSocketMessage using theWebSocketSession.bufferFactory()for the session.- Specified by:
binaryMessagein interfaceWebSocketSession
-
pingMessage
public WebSocketMessage pingMessage(Function<org.springframework.core.io.buffer.DataBufferFactory, org.springframework.core.io.buffer.DataBuffer> payloadFactory) Description copied from interface:WebSocketSessionFactory method to create a ping WebSocketMessage using theWebSocketSession.bufferFactory()for the session.- Specified by:
pingMessagein interfaceWebSocketSession
-
pongMessage
public WebSocketMessage pongMessage(Function<org.springframework.core.io.buffer.DataBufferFactory, org.springframework.core.io.buffer.DataBuffer> payloadFactory) Description copied from interface:WebSocketSessionFactory method to create a pong WebSocketMessage using theWebSocketSession.bufferFactory()for the session.- Specified by:
pongMessagein interfaceWebSocketSession
-
toString
-