public class WebSocketHandlerAdapter extends Object implements HandlerAdapter, Ordered
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.
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE| Constructor and Description |
|---|
WebSocketHandlerAdapter()
Default constructor that creates and uses a
HandshakeWebSocketService. |
WebSocketHandlerAdapter(WebSocketService webSocketService)
Alternative constructor with the
WebSocketService to use. |
| Modifier and Type | Method and Description |
|---|---|
int |
getOrder()
Return the
configured order for this instance. |
WebSocketService |
getWebSocketService()
Return the configured
WebSocketService 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 |
supports(Object handler)
Whether this
HandlerAdapter supports the given handler. |
public WebSocketHandlerAdapter()
HandshakeWebSocketService.public WebSocketHandlerAdapter(WebSocketService webSocketService)
WebSocketService to use.public void setOrder(int order)
By default this is set to 2.
order - the value to set topublic int getOrder()
configured order for this instance.getOrder in interface OrderedOrdered.HIGHEST_PRECEDENCE,
Ordered.LOWEST_PRECEDENCEpublic WebSocketService getWebSocketService()
WebSocketService to handle requests.public boolean supports(Object handler)
HandlerAdapterHandlerAdapter supports the given handler.supports in interface HandlerAdapterhandler - the handler object to checkpublic reactor.core.publisher.Mono<HandlerResult> handle(ServerWebExchange exchange, Object handler)
HandlerAdapterImplementations 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 to
set an exception
handler on the HandlerResult so that may also be applied later
after result handling.
handle in interface HandlerAdapterexchange - current server exchangehandler - the selected handler which must have been previously
checked via HandlerAdapter.supports(Object)Mono that emits a single HandlerResult or none if
the request has been fully handled and doesn't require further handling.