Class WebSocketHandlerAdapter
- All Implemented Interfaces:
Ordered
,HandlerAdapter
HandlerAdapter
that allows
DispatcherHandler
to support
handlers of type WebSocketHandler
with such handlers mapped to
URL patterns via
SimpleUrlHandlerMapping
.
Requests are handled by delegating to a
WebSocketService
, by default HandshakeWebSocketService
,
which checks the WebSocket handshake request parameters, upgrades to a
WebSocket interaction, and uses the WebSocketHandler
to handle it.
As of 5.3 the WebFlux Java configuration, imported via
@EnableWebFlux
, includes a declaration of this adapter and therefore
it no longer needs to be present in application configuration.
- Since:
- 5.0
- Author:
- Rossen Stoyanchev
-
Field Summary
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorDescriptionDefault constructor that creates and uses aHandshakeWebSocketService
.WebSocketHandlerAdapter
(WebSocketService webSocketService) Alternative constructor with theWebSocketService
to use. -
Method Summary
Modifier and TypeMethodDescriptionint
getOrder()
Return theconfigured
order for this instance.Return the configuredWebSocketService
to handle requests.reactor.core.publisher.Mono<HandlerResult>
handle
(ServerWebExchange exchange, Object handler) Handle the request with the given handler.void
setOrder
(int order) Set the order value for this adapter.boolean
Whether thisHandlerAdapter
supports the givenhandler
.
-
Constructor Details
-
WebSocketHandlerAdapter
public WebSocketHandlerAdapter()Default constructor that creates and uses aHandshakeWebSocketService
. -
WebSocketHandlerAdapter
Alternative constructor with theWebSocketService
to use.
-
-
Method Details
-
setOrder
public void setOrder(int order) Set the order value for this adapter.By default this is set to 2.
- Parameters:
order
- the value to set to- Since:
- 5.3
-
getOrder
public int getOrder()Return theconfigured
order for this instance. -
getWebSocketService
Return the configuredWebSocketService
to handle requests. -
supports
Description copied from interface:HandlerAdapter
Whether thisHandlerAdapter
supports the givenhandler
.- Specified by:
supports
in interfaceHandlerAdapter
- Parameters:
handler
- the handler object to check- Returns:
- whether or not the handler is supported
-
handle
public reactor.core.publisher.Mono<HandlerResult> handle(ServerWebExchange exchange, Object handler) Description copied from interface:HandlerAdapter
Handle the request with the given handler.Implementations are encouraged to handle exceptions resulting from the invocation of a handler in order and if necessary to return an alternate result that represents an error response.
Furthermore since an async
HandlerResult
may produce an error later during result handling implementations are also encouraged toset an exception handler
on theHandlerResult
so that may also be applied later after result handling.- Specified by:
handle
in interfaceHandlerAdapter
- Parameters:
exchange
- current server exchangehandler
- the selected handler which must have been previously checked viaHandlerAdapter.supports(Object)
- Returns:
Mono
that emits a singleHandlerResult
or none if the request has been fully handled and doesn't require further handling.
-