## Uses of Interface
org.springframework.messaging.MessageHandler

- Packages that use MessageHandler
  Package | Description
  --- | ---
  org.springframework.messaging | Support for working with messaging APIs and protocols.
  org.springframework.messaging.handler.invocation | Common infrastructure for invoking message handler methods.
  org.springframework.messaging.simp.annotation.support | Support classes for handling messages from simple messaging protocols (like STOMP).
  org.springframework.messaging.simp.broker | Provides a "simple" message broker implementation along with an abstract base class and other supporting types such as a registry for subscriptions.
  org.springframework.messaging.simp.config | Configuration support for WebSocket messaging using higher level messaging protocols.
  org.springframework.messaging.simp.stomp | Generic support for simple messaging protocols (like STOMP).
  org.springframework.messaging.simp.user | Support for handling messages to "user" destinations (i.e.
  org.springframework.messaging.support | Provides implementations of `Message` along with a MessageBuilder and MessageHeaderAccessor for building and working with messages and message headers, as well as various `MessageChannel` implementations and channel interceptor support.
  org.springframework.web.socket.messaging | WebSocket integration for Spring's messaging module.

- - ### Uses of MessageHandler in org.springframework.messaging

    Methods in org.springframework.messaging with parameters of type MessageHandler
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | SubscribableChannel.`subscribe(MessageHandler handler)` Register a message handler.
    `boolean` | SubscribableChannel.`unsubscribe(MessageHandler handler)` Un-register a message handler.

  - ### Uses of MessageHandler in org.springframework.messaging.handler.invocation

    Classes in org.springframework.messaging.handler.invocation that implement MessageHandler
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractMethodMessageHandler<T>` Abstract base class for HandlerMethod-based message handling.

  - ### Uses of MessageHandler in org.springframework.messaging.simp.annotation.support

    Classes in org.springframework.messaging.simp.annotation.support that implement MessageHandler
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SimpAnnotationMethodMessageHandler` A handler for messages delegating to `@MessageMapping` and `@SubscribeMapping` annotated methods.

  - ### Uses of MessageHandler in org.springframework.messaging.simp.broker

    Classes in org.springframework.messaging.simp.broker that implement MessageHandler
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractBrokerMessageHandler` Abstract base class for a `MessageHandler` that broker messages to registered subscribers.
    `class` | `SimpleBrokerMessageHandler` A "simple" message broker that recognizes the message types defined in `SimpMessageType`, keeps track of subscriptions with the help of a `SubscriptionRegistry` and sends messages to subscribers.

  - ### Uses of MessageHandler in org.springframework.messaging.simp.config

    Methods in org.springframework.messaging.simp.config that return MessageHandler
    Modifier and Type | Method and Description
    --- | ---
    `MessageHandler` | AbstractMessageBrokerConfiguration.`userRegistryMessageHandler(AbstractSubscribableChannel clientInboundChannel, AbstractSubscribableChannel clientOutboundChannel, SimpUserRegistry userRegistry, SimpMessagingTemplate brokerMessagingTemplate, TaskScheduler scheduler)`

    Methods in org.springframework.messaging.simp.config with parameters of type MessageHandler
    Modifier and Type | Method and Description
    --- | ---
    `AbstractBrokerMessageHandler` | AbstractMessageBrokerConfiguration.`stompBrokerRelayMessageHandler(AbstractSubscribableChannel clientInboundChannel, AbstractSubscribableChannel clientOutboundChannel, AbstractSubscribableChannel brokerChannel, UserDestinationMessageHandler userDestinationMessageHandler, MessageHandler userRegistryMessageHandler, UserDestinationResolver userDestinationResolver)`

  - ### Uses of MessageHandler in org.springframework.messaging.simp.stomp

    Classes in org.springframework.messaging.simp.stomp that implement MessageHandler
    Modifier and Type | Class and Description
    --- | ---
    `class` | `StompBrokerRelayMessageHandler` A `MessageHandler` that handles messages by forwarding them to a STOMP broker.

    Methods in org.springframework.messaging.simp.stomp that return types with arguments of type MessageHandler
    Modifier and Type | Method and Description
    --- | ---
    `Map<String,MessageHandler>` | StompBrokerRelayMessageHandler.`getSystemSubscriptions()` Return the configured map with subscriptions on the "system" connection.

    Method parameters in org.springframework.messaging.simp.stomp with type arguments of type MessageHandler
    Modifier and Type | Method and Description
    --- | ---
    `void` | StompBrokerRelayMessageHandler.`setSystemSubscriptions(Map<String,MessageHandler> subscriptions)` Configure one more destinations to subscribe to on the shared "system" connection along with MessageHandler's to handle received messages.

  - ### Uses of MessageHandler in org.springframework.messaging.simp.user

    Classes in org.springframework.messaging.simp.user that implement MessageHandler
    Modifier and Type | Class and Description
    --- | ---
    `class` | `UserDestinationMessageHandler` `MessageHandler` with support for "user" destinations.
    `class` | `UserRegistryMessageHandler` `MessageHandler` that handles user registry broadcasts from other application servers and periodically broadcasts the content of the local user registry.

  - ### Uses of MessageHandler in org.springframework.messaging.support

    Methods in org.springframework.messaging.support that return MessageHandler
    Modifier and Type | Method and Description
    --- | ---
    `MessageHandler` | MessageHandlingRunnable.`getMessageHandler()` Return the MessageHandler that will be used to handle the message.

    Methods in org.springframework.messaging.support that return types with arguments of type MessageHandler
    Modifier and Type | Method and Description
    --- | ---
    `Set<MessageHandler>` | AbstractSubscribableChannel.`getSubscribers()`

    Methods in org.springframework.messaging.support with parameters of type MessageHandler
    Modifier and Type | Method and Description
    --- | ---
    `default void` | ExecutorChannelInterceptor.`afterMessageHandled(Message<?> message, MessageChannel channel, MessageHandler handler, Exception ex)` Invoked inside the `Runnable` submitted to the Executor after calling the target MessageHandler regardless of the outcome (i.e.
    `default Message<?>` | ExecutorChannelInterceptor.`beforeHandle(Message<?> message, MessageChannel channel, MessageHandler handler)` Invoked inside the `Runnable` submitted to the Executor just before calling the target MessageHandler to handle the message.
    `boolean` | AbstractSubscribableChannel.`hasSubscription(MessageHandler handler)`
    `boolean` | AbstractSubscribableChannel.`subscribe(MessageHandler handler)`
    `boolean` | AbstractSubscribableChannel.`unsubscribe(MessageHandler handler)`

  - ### Uses of MessageHandler in org.springframework.web.socket.messaging

    Classes in org.springframework.web.socket.messaging that implement MessageHandler
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SubProtocolWebSocketHandler` An implementation of `WebSocketHandler` that delegates incoming WebSocket messages to a `SubProtocolHandler` along with a `MessageChannel` to which the sub-protocol handler can send messages from WebSocket clients to the application.
    `class` | `WebSocketAnnotationMethodMessageHandler` A subclass of `SimpAnnotationMethodMessageHandler` to provide support for `ControllerAdvice` with global `@MessageExceptionHandler` methods.