Class WebSocketHandlerAdapter

All Implemented Interfaces:
Ordered, HandlerAdapter

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.

Rossen Stoyanchev
  • Constructor Details

  • Method Details

    • setOrder

      public void setOrder(int order)
      Set the order value for this adapter.

      By default this is set to 2.

      order - the value to set to
    • getOrder

      public int getOrder()
      Return the configured order for this instance.
      Specified by:
      getOrder in interface Ordered
      the order value
      See Also:
    • getWebSocketService

      public WebSocketService getWebSocketService()
      Return the configured WebSocketService to handle requests.
    • supports

      public boolean supports(Object handler)
      Description copied from interface: HandlerAdapter
      Whether this HandlerAdapter supports the given handler.
      Specified by:
      supports in interface HandlerAdapter
      handler - the handler object to check
      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 to set an exception handler on the HandlerResult so that may also be applied later after result handling.

      Specified by:
      handle in interface HandlerAdapter
      exchange - current server exchange
      handler - 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.