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 Ordered
Ordered.HIGHEST_PRECEDENCE
,
Ordered.LOWEST_PRECEDENCE
public WebSocketService getWebSocketService()
WebSocketService
to handle requests.public boolean supports(Object handler)
HandlerAdapter
HandlerAdapter
supports the given handler
.supports
in interface HandlerAdapter
handler
- the handler object to checkpublic reactor.core.publisher.Mono<HandlerResult> handle(ServerWebExchange exchange, Object handler)
HandlerAdapter
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 to
set an exception
handler
on the HandlerResult
so that may also be applied later
after result handling.
handle
in interface HandlerAdapter
exchange
- 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.