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
ConstructorsConstructorDescriptionDefault constructor that creates and uses aHandshakeWebSocketService.WebSocketHandlerAdapter(WebSocketService webSocketService) Alternative constructor with theWebSocketServiceto use. -
Method Summary
Modifier and TypeMethodDescriptionintgetOrder()Return theconfiguredorder for this instance.Return the configuredWebSocketServiceto handle requests.reactor.core.publisher.Mono<HandlerResult>handle(ServerWebExchange exchange, Object handler) Handle the request with the given handler.voidsetOrder(int order) Set the order value for this adapter.booleanWhether thisHandlerAdaptersupports the givenhandler.
-
Constructor Details
-
WebSocketHandlerAdapter
public WebSocketHandlerAdapter()Default constructor that creates and uses aHandshakeWebSocketService. -
WebSocketHandlerAdapter
Alternative constructor with theWebSocketServiceto 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 theconfiguredorder for this instance. -
getWebSocketService
Return the configuredWebSocketServiceto handle requests. -
supports
Description copied from interface:HandlerAdapterWhether thisHandlerAdaptersupports the givenhandler.- Specified by:
supportsin 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:HandlerAdapterHandle 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
HandlerResultmay produce an error later during result handling implementations are also encouraged toset an exception handleron theHandlerResultso that may also be applied later after result handling.- Specified by:
handlein interfaceHandlerAdapter- Parameters:
exchange- current server exchangehandler- the selected handler which must have been previously checked viaHandlerAdapter.supports(Object)- Returns:
Monothat emits a singleHandlerResultor none if the request has been fully handled and doesn't require further handling.
-