public class TransportHandlingSockJsService extends AbstractSockJsService implements SockJsServiceConfig
SockJsService
with support for SPI-based transport handling and session management.
Based on the TransportHandler SPI. TransportHandlers may additionally
implement the SockJsSessionFactory and HandshakeHandler interfaces.
See the AbstractSockJsService base class for important details on request mapping.
logger| Constructor and Description |
|---|
TransportHandlingSockJsService(TaskScheduler scheduler,
Collection<TransportHandler> handlers)
Create a TransportHandlingSockJsService with given
handler types. |
TransportHandlingSockJsService(TaskScheduler scheduler,
TransportHandler... handlers)
Create a TransportHandlingSockJsService with given
handler types. |
| Modifier and Type | Method and Description |
|---|---|
List<HandshakeInterceptor> |
getHandshakeInterceptors()
Return the configured WebSocket handshake request interceptors.
|
SockJsMessageCodec |
getMessageCodec()
The codec to use for encoding and decoding SockJS messages.
|
Map<TransportType,TransportHandler> |
getTransportHandlers()
Return the registered handlers per transport type.
|
protected void |
handleRawWebSocketRequest(ServerHttpRequest request,
ServerHttpResponse response,
WebSocketHandler handler)
Handle request for raw WebSocket communication, i.e.
|
protected void |
handleTransportRequest(ServerHttpRequest request,
ServerHttpResponse response,
WebSocketHandler handler,
String sessionId,
String transport)
Handle a SockJS session URL (i.e.
|
void |
setHandshakeInterceptors(List<HandshakeInterceptor> interceptors)
Configure one or more WebSocket handshake request interceptors.
|
void |
setMessageCodec(SockJsMessageCodec messageCodec)
The codec to use for encoding and decoding SockJS messages.
|
addCacheHeaders, addCorsHeaders, addNoCacheHeaders, getDisconnectDelay, getHeartbeatTime, getHttpMessageCacheSize, getName, getSockJsClientLibraryUrl, getStreamBytesLimit, getTaskScheduler, handleRequest, isSessionCookieNeeded, isWebSocketEnabled, sendMethodNotAllowed, setDisconnectDelay, setHeartbeatTime, setHttpMessageCacheSize, setName, setSessionCookieNeeded, setSockJsClientLibraryUrl, setStreamBytesLimit, setWebSocketEnabled, validateRequestclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetHeartbeatTime, getHttpMessageCacheSize, getStreamBytesLimit, getTaskSchedulerpublic TransportHandlingSockJsService(TaskScheduler scheduler, TransportHandler... handlers)
handler types.scheduler - a task scheduler for heart-beat messages and removing timed-out sessions;
the provided TaskScheduler should be declared as a Spring bean to ensure it gets
initialized at start-up and shuts down when the application stopshandlers - one or more TransportHandler implementations to usepublic TransportHandlingSockJsService(TaskScheduler scheduler, Collection<TransportHandler> handlers)
handler types.scheduler - a task scheduler for heart-beat messages and removing timed-out sessions;
the provided TaskScheduler should be declared as a Spring bean to ensure it gets
initialized at start-up and shuts down when the application stopshandlers - one or more TransportHandler implementations to usepublic Map<TransportType,TransportHandler> getTransportHandlers()
public void setMessageCodec(SockJsMessageCodec messageCodec)
public SockJsMessageCodec getMessageCodec()
SockJsServiceConfiggetMessageCodec in interface SockJsServiceConfigpublic void setHandshakeInterceptors(List<HandshakeInterceptor> interceptors)
public List<HandshakeInterceptor> getHandshakeInterceptors()
protected void handleRawWebSocketRequest(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler handler) throws IOException
AbstractSockJsServicehandleRawWebSocketRequest in class AbstractSockJsServiceIOExceptionprotected void handleTransportRequest(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler handler, String sessionId, String transport) throws SockJsException
AbstractSockJsServicehandleTransportRequest in class AbstractSockJsServiceSockJsException