# Hierarchy For All Packages

Package Hierarchies:

- org.springframework.messaging,
- org.springframework.messaging.converter,
- org.springframework.messaging.core,
- org.springframework.messaging.handler,
- org.springframework.messaging.handler.annotation,
- org.springframework.messaging.handler.annotation.reactive,
- org.springframework.messaging.handler.annotation.support,
- org.springframework.messaging.handler.invocation,
- org.springframework.messaging.handler.invocation.reactive,
- org.springframework.messaging.rsocket,
- org.springframework.messaging.rsocket.annotation,
- org.springframework.messaging.rsocket.annotation.support,
- org.springframework.messaging.simp,
- org.springframework.messaging.simp.annotation,
- org.springframework.messaging.simp.annotation.support,
- org.springframework.messaging.simp.broker,
- org.springframework.messaging.simp.config,
- org.springframework.messaging.simp.stomp,
- org.springframework.messaging.simp.user,
- org.springframework.messaging.support,
- org.springframework.messaging.tcp,
- org.springframework.messaging.tcp.reactor

## Class Hierarchy

- java.lang.Object
  - org.springframework.messaging.handler.invocation.AbstractAsyncReturnValueHandler (implements org.springframework.messaging.handler.invocation.AsyncHandlerMethodReturnValueHandler)
    - org.springframework.messaging.handler.invocation.CompletableFutureReturnValueHandler
    - org.springframework.messaging.handler.invocation.ListenableFutureReturnValueHandler
    - org.springframework.messaging.handler.invocation.ReactiveReturnValueHandler
  - org.springframework.messaging.simp.broker.AbstractBrokerMessageHandler (implements org.springframework.context.ApplicationEventPublisherAware, org.springframework.messaging.MessageHandler, org.springframework.context.SmartLifecycle)
    - org.springframework.messaging.simp.broker.SimpleBrokerMessageHandler
    - org.springframework.messaging.simp.stomp.StompBrokerRelayMessageHandler
  - org.springframework.messaging.simp.config.AbstractBrokerRegistration
    - org.springframework.messaging.simp.config.SimpleBrokerRegistration
    - org.springframework.messaging.simp.config.StompBrokerRelayRegistration
  - org.springframework.messaging.handler.invocation.reactive.AbstractEncoderMethodReturnValueHandler (implements org.springframework.messaging.handler.invocation.reactive.HandlerMethodReturnValueHandler)
    - org.springframework.messaging.rsocket.annotation.support.RSocketPayloadReturnValueHandler
  - org.springframework.messaging.handler.invocation.AbstractExceptionHandlerMethodResolver
    - org.springframework.messaging.handler.annotation.support.AnnotationExceptionHandlerMethodResolver
  - org.springframework.messaging.support.AbstractHeaderMapper<T> (implements org.springframework.messaging.support.HeaderMapper<T>)
  - org.springframework.messaging.simp.config.AbstractMessageBrokerConfiguration (implements org.springframework.context.ApplicationContextAware)
  - org.springframework.messaging.support.AbstractMessageChannel (implements org.springframework.beans.factory.BeanNameAware, org.springframework.messaging.support.InterceptableChannel, org.springframework.messaging.MessageChannel)
    - org.springframework.messaging.support.AbstractSubscribableChannel (implements org.springframework.messaging.SubscribableChannel)
      - org.springframework.messaging.support.ExecutorSubscribableChannel
  - org.springframework.messaging.support.AbstractMessageChannel.ChannelInterceptorChain
  - org.springframework.messaging.handler.AbstractMessageCondition<T> (implements org.springframework.messaging.handler.MessageCondition<T>)
    - org.springframework.messaging.handler.DestinationPatternsMessageCondition
    - org.springframework.messaging.rsocket.annotation.support.RSocketFrameTypeMessageCondition
    - org.springframework.messaging.simp.SimpMessageTypeMessageCondition
  - org.springframework.messaging.converter.AbstractMessageConverter (implements org.springframework.messaging.converter.SmartMessageConverter)
    - org.springframework.messaging.converter.ByteArrayMessageConverter
    - org.springframework.messaging.converter.MappingJackson2MessageConverter
    - org.springframework.messaging.converter.MarshallingMessageConverter
    - org.springframework.messaging.converter.ProtobufMessageConverter
      - org.springframework.messaging.converter.ProtobufJsonFormatMessageConverter
    - org.springframework.messaging.converter.StringMessageConverter
  - org.springframework.messaging.core.AbstractMessageSendingTemplate<D> (implements org.springframework.messaging.core.MessageSendingOperations<D>)
    - org.springframework.messaging.core.AbstractMessageReceivingTemplate<D> (implements org.springframework.messaging.core.MessageReceivingOperations<D>)
      - org.springframework.messaging.core.AbstractMessagingTemplate<D> (implements org.springframework.messaging.core.MessageRequestReplyOperations<D>)
        - org.springframework.messaging.core.AbstractDestinationResolvingMessagingTemplate<D> (implements org.springframework.messaging.core.DestinationResolvingMessageReceivingOperations<D>, org.springframework.messaging.core.DestinationResolvingMessageRequestReplyOperations<D>, org.springframework.messaging.core.DestinationResolvingMessageSendingOperations<D>)
          - org.springframework.messaging.core.GenericMessagingTemplate (implements org.springframework.beans.factory.BeanFactoryAware)
    - org.springframework.messaging.simp.SimpMessagingTemplate (implements org.springframework.messaging.simp.SimpMessageSendingOperations)
  - org.springframework.messaging.handler.invocation.reactive.AbstractMethodMessageHandler<T> (implements org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.messaging.ReactiveMessageHandler)
    - org.springframework.messaging.handler.annotation.reactive.MessageMappingMessageHandler (implements org.springframework.context.EmbeddedValueResolverAware)
      - org.springframework.messaging.rsocket.annotation.support.RSocketMessageHandler
  - org.springframework.messaging.handler.invocation.AbstractMethodMessageHandler<T> (implements org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.InitializingBean, org.springframework.messaging.MessageHandler)
    - org.springframework.messaging.simp.annotation.support.SimpAnnotationMethodMessageHandler (implements org.springframework.context.EmbeddedValueResolverAware, org.springframework.context.SmartLifecycle)
  - org.springframework.messaging.handler.annotation.support.AbstractNamedValueMethodArgumentResolver (implements org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver)
    - org.springframework.messaging.handler.annotation.support.DestinationVariableMethodArgumentResolver
    - org.springframework.messaging.handler.annotation.support.HeaderMethodArgumentResolver
  - org.springframework.messaging.handler.annotation.reactive.AbstractNamedValueMethodArgumentResolver (implements org.springframework.messaging.handler.invocation.reactive.SyncHandlerMethodArgumentResolver)
    - org.springframework.messaging.handler.annotation.reactive.DestinationVariableMethodArgumentResolver
    - org.springframework.messaging.handler.annotation.reactive.HeaderMethodArgumentResolver
  - org.springframework.messaging.handler.annotation.support.AbstractNamedValueMethodArgumentResolver.NamedValueInfo
  - org.springframework.messaging.handler.annotation.reactive.AbstractNamedValueMethodArgumentResolver.NamedValueInfo
  - org.springframework.messaging.tcp.reactor.AbstractNioBufferReactorNettyCodec<P> (implements org.springframework.messaging.tcp.reactor.ReactorNettyCodec<P>)
    - org.springframework.messaging.simp.stomp.StompReactorNettyCodec
  - org.springframework.messaging.simp.broker.AbstractSubscriptionRegistry (implements org.springframework.messaging.simp.broker.SubscriptionRegistry)
    - org.springframework.messaging.simp.broker.DefaultSubscriptionRegistry
  - org.springframework.messaging.handler.invocation.reactive.ArgumentResolverConfigurer
  - org.springframework.messaging.core.BeanFactoryMessageChannelDestinationResolver (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.messaging.core.DestinationResolver<D>)
  - org.springframework.messaging.simp.stomp.BufferingStompDecoder
  - org.springframework.messaging.core.CachingDestinationResolverProxy<D> (implements org.springframework.messaging.core.DestinationResolver<D>, org.springframework.beans.factory.InitializingBean)
  - org.springframework.messaging.support.ChannelInterceptorAdapter (implements org.springframework.messaging.support.ChannelInterceptor)
  - org.springframework.messaging.simp.config.ChannelRegistration
  - org.springframework.messaging.handler.CompositeMessageCondition (implements org.springframework.messaging.handler.MessageCondition<T>)
  - org.springframework.messaging.converter.CompositeMessageConverter (implements org.springframework.messaging.converter.SmartMessageConverter)
  - org.springframework.messaging.handler.annotation.reactive.ContinuationHandlerMethodArgumentResolver (implements org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolver)
  - org.springframework.messaging.converter.DefaultContentTypeResolver (implements org.springframework.messaging.converter.ContentTypeResolver)
  - org.springframework.messaging.handler.annotation.support.DefaultMessageHandlerMethodFactory (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean, org.springframework.messaging.handler.annotation.support.MessageHandlerMethodFactory)
  - org.springframework.messaging.rsocket.DefaultMetadataExtractor (implements org.springframework.messaging.rsocket.MetadataExtractor, org.springframework.messaging.rsocket.MetadataExtractorRegistry)
  - org.springframework.messaging.simp.stomp.DefaultStompSession (implements org.springframework.messaging.simp.stomp.ConnectionHandlingStompSession)
  - org.springframework.messaging.simp.user.DefaultUserDestinationResolver (implements org.springframework.messaging.simp.user.UserDestinationResolver)
  - java.util.EventObject (implements java.io.Serializable)
    - org.springframework.context.ApplicationEvent
      - org.springframework.messaging.simp.broker.BrokerAvailabilityEvent
  - org.springframework.messaging.tcp.FixedIntervalReconnectStrategy (implements org.springframework.messaging.tcp.ReconnectStrategy)
  - org.springframework.messaging.support.GenericMessage<T> (implements org.springframework.messaging.Message<T>, java.io.Serializable)
    - org.springframework.messaging.support.ErrorMessage
  - org.springframework.messaging.handler.HandlerMethod
    - org.springframework.messaging.handler.invocation.InvocableHandlerMethod
    - org.springframework.messaging.handler.invocation.reactive.InvocableHandlerMethod
  - org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolverComposite (implements org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver)
  - org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolverComposite (implements org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolver)
  - org.springframework.messaging.handler.invocation.HandlerMethodReturnValueHandlerComposite (implements org.springframework.messaging.handler.invocation.AsyncHandlerMethodReturnValueHandler)
  - org.springframework.messaging.handler.invocation.reactive.HandlerMethodReturnValueHandlerComposite (implements org.springframework.messaging.handler.invocation.reactive.HandlerMethodReturnValueHandler)
  - org.springframework.messaging.handler.annotation.support.HeadersMethodArgumentResolver (implements org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver)
  - org.springframework.messaging.handler.annotation.reactive.HeadersMethodArgumentResolver (implements org.springframework.messaging.handler.invocation.reactive.SyncHandlerMethodArgumentResolver)
  - org.springframework.messaging.support.IdTimestampMessageHeaderInitializer (implements org.springframework.messaging.support.MessageHeaderInitializer)
  - org.springframework.messaging.support.ImmutableMessageChannelInterceptor (implements org.springframework.messaging.support.ChannelInterceptor)
  - org.springframework.messaging.simp.config.MessageBrokerRegistry
  - org.springframework.messaging.support.MessageBuilder<T>
  - org.springframework.messaging.support.MessageHeaderAccessor
    - org.springframework.messaging.support.NativeMessageHeaderAccessor
      - org.springframework.messaging.simp.SimpMessageHeaderAccessor
        - org.springframework.messaging.simp.stomp.StompHeaderAccessor
  - org.springframework.messaging.MessageHeaders (implements java.util.Map<K,V>, java.io.Serializable)
  - org.springframework.messaging.handler.annotation.support.MessageMethodArgumentResolver (implements org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver)
  - org.springframework.core.MethodParameter
    - org.springframework.core.annotation.SynthesizingMethodParameter
      - org.springframework.messaging.handler.HandlerMethod.HandlerMethodParameter
  - org.springframework.messaging.simp.user.MultiServerUserRegistry (implements org.springframework.messaging.simp.user.SimpUserRegistry, org.springframework.context.event.SmartApplicationListener)
  - org.springframework.messaging.handler.annotation.support.PayloadMethodArgumentResolver (implements org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver)
    - org.springframework.messaging.handler.annotation.support.PayloadArgumentResolver
  - org.springframework.messaging.handler.annotation.reactive.PayloadMethodArgumentResolver (implements org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolver)
  - org.springframework.messaging.rsocket.PayloadUtils
  - org.springframework.messaging.simp.annotation.support.PrincipalMethodArgumentResolver (implements org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver)
  - org.springframework.messaging.tcp.reactor.ReactorNettyTcpClient<P> (implements org.springframework.messaging.tcp.TcpOperations<P>)
  - org.springframework.messaging.tcp.reactor.ReactorNettyTcpConnection<P> (implements org.springframework.messaging.tcp.TcpConnection<P>)
  - org.springframework.messaging.handler.invocation.reactive.ReturnValueHandlerConfigurer
  - org.springframework.messaging.rsocket.annotation.support.RSocketRequesterMethodArgumentResolver (implements org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolver)
  - org.springframework.messaging.simp.annotation.support.SendToMethodReturnValueHandler (implements org.springframework.messaging.handler.invocation.HandlerMethodReturnValueHandler)
  - org.springframework.messaging.simp.SimpAttributes
  - org.springframework.messaging.simp.SimpAttributesContextHolder
  - org.springframework.messaging.converter.SimpleMessageConverter (implements org.springframework.messaging.converter.MessageConverter)
    - org.springframework.messaging.converter.GenericMessageConverter
  - org.springframework.messaging.simp.SimpLogging
  - org.springframework.messaging.simp.SimpMessageMappingInfo (implements org.springframework.messaging.handler.MessageCondition<T>)
  - org.springframework.messaging.simp.SimpSessionScope (implements org.springframework.beans.factory.config.Scope)
  - org.springframework.messaging.simp.stomp.StompClientSupport
    - org.springframework.messaging.simp.stomp.ReactorNettyTcpStompClient
  - org.springframework.messaging.simp.stomp.StompDecoder
  - org.springframework.messaging.simp.stomp.StompEncoder
  - org.springframework.messaging.simp.stomp.StompHeaders (implements org.springframework.util.MultiValueMap<K,V>, java.io.Serializable)
  - org.springframework.messaging.simp.stomp.StompSessionHandlerAdapter (implements org.springframework.messaging.simp.stomp.StompSessionHandler)
  - org.springframework.messaging.simp.annotation.support.SubscriptionMethodReturnValueHandler (implements org.springframework.messaging.handler.invocation.HandlerMethodReturnValueHandler)
  - org.springframework.messaging.simp.config.TaskExecutorRegistration
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.springframework.messaging.simp.stomp.ConnectionLostException
        - org.springframework.core.NestedRuntimeException
          - org.springframework.messaging.MessagingException
            - org.springframework.messaging.core.DestinationResolutionException
            - org.springframework.messaging.converter.MessageConversionException
            - org.springframework.messaging.MessageDeliveryException
            - org.springframework.messaging.MessageHandlingException
            - org.springframework.messaging.handler.invocation.MethodArgumentResolutionException
              - org.springframework.messaging.handler.annotation.support.MethodArgumentNotValidException
              - org.springframework.messaging.handler.annotation.support.MethodArgumentTypeMismatchException
            - org.springframework.messaging.simp.annotation.support.MissingSessionUserException
          - org.springframework.messaging.simp.stomp.StompConversionException
  - org.springframework.messaging.simp.user.UserDestinationMessageHandler (implements org.springframework.messaging.MessageHandler, org.springframework.context.SmartLifecycle)
  - org.springframework.messaging.simp.user.UserDestinationResult
  - org.springframework.messaging.simp.user.UserRegistryMessageHandler (implements org.springframework.context.ApplicationListener<E>, org.springframework.messaging.MessageHandler)

## Interface Hierarchy

- java.lang.AutoCloseable
  - java.io.Closeable
    - org.springframework.messaging.tcp.TcpConnection<P>
  - org.springframework.messaging.tcp.TcpConnection<P>
- org.springframework.messaging.support.ChannelInterceptor
  - org.springframework.messaging.support.ExecutorChannelInterceptor
- org.springframework.messaging.rsocket.ClientRSocketFactoryConfigurer
- org.springframework.messaging.converter.ContentTypeResolver
- org.springframework.messaging.core.DestinationResolver<D>
- org.springframework.messaging.simp.user.DestinationUserNameProvider
- org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver
- org.springframework.messaging.handler.invocation.reactive.HandlerMethodArgumentResolver
  - org.springframework.messaging.handler.invocation.reactive.SyncHandlerMethodArgumentResolver
- org.springframework.messaging.handler.invocation.HandlerMethodReturnValueHandler
  - org.springframework.messaging.handler.invocation.AsyncHandlerMethodReturnValueHandler
- org.springframework.messaging.handler.invocation.reactive.HandlerMethodReturnValueHandler
- org.springframework.messaging.support.HeaderMapper<T>
- org.springframework.messaging.support.InterceptableChannel
- org.springframework.messaging.Message<T>
- org.springframework.messaging.MessageChannel
  - org.springframework.messaging.PollableChannel
  - org.springframework.messaging.SubscribableChannel
- org.springframework.messaging.handler.MessageCondition<T>
- org.springframework.messaging.converter.MessageConverter
  - org.springframework.messaging.converter.SmartMessageConverter
- org.springframework.messaging.MessageHandler
- org.springframework.messaging.handler.annotation.support.MessageHandlerMethodFactory
- org.springframework.messaging.support.MessageHeaderInitializer
- org.springframework.messaging.core.MessagePostProcessor
- org.springframework.messaging.core.MessageReceivingOperations<D>
  - org.springframework.messaging.core.DestinationResolvingMessageReceivingOperations<D>
- org.springframework.messaging.core.MessageRequestReplyOperations<D>
  - org.springframework.messaging.core.DestinationResolvingMessageRequestReplyOperations<D>
- org.springframework.messaging.core.MessageSendingOperations<D>
  - org.springframework.messaging.core.DestinationResolvingMessageSendingOperations<D>
  - org.springframework.messaging.simp.SimpMessageSendingOperations
- org.springframework.messaging.rsocket.MetadataExtractor
- org.springframework.messaging.rsocket.MetadataExtractorRegistry
- org.springframework.core.Ordered
  - org.springframework.messaging.handler.MessagingAdviceBean
- org.springframework.messaging.ReactiveMessageHandler
- org.springframework.messaging.tcp.reactor.ReactorNettyCodec<P>
- org.springframework.messaging.tcp.ReconnectStrategy
- org.springframework.messaging.rsocket.RSocketConnectorConfigurer
- org.springframework.messaging.rsocket.RSocketRequester
- org.springframework.messaging.rsocket.RSocketRequester.Builder
- org.springframework.messaging.rsocket.RSocketRequester.MetadataSpec<S>
  - org.springframework.messaging.rsocket.RSocketRequester.RequestSpec (also extends org.springframework.messaging.rsocket.RSocketRequester.RetrieveSpec)
- org.springframework.messaging.rsocket.RSocketRequester.RetrieveSpec
  - org.springframework.messaging.rsocket.RSocketRequester.RequestSpec (also extends org.springframework.messaging.rsocket.RSocketRequester.MetadataSpec<S>)
- org.springframework.messaging.rsocket.RSocketStrategies
- org.springframework.messaging.rsocket.RSocketStrategies.Builder
- java.lang.Runnable
  - org.springframework.messaging.support.MessageHandlingRunnable
- org.springframework.messaging.simp.user.SimpSession
- org.springframework.messaging.simp.user.SimpSubscription
- org.springframework.messaging.simp.user.SimpSubscriptionMatcher
- org.springframework.messaging.simp.user.SimpUser
- org.springframework.messaging.simp.user.SimpUserRegistry
- org.springframework.messaging.simp.stomp.StompBrokerRelayMessageHandler.Stats
- org.springframework.messaging.simp.stomp.StompFrameHandler
  - org.springframework.messaging.simp.stomp.StompSessionHandler
- org.springframework.messaging.simp.stomp.StompSession
  - org.springframework.messaging.simp.stomp.ConnectionHandlingStompSession (also extends org.springframework.messaging.tcp.TcpConnectionHandler<P>)
- org.springframework.messaging.simp.stomp.StompSession.Receiptable
  - org.springframework.messaging.simp.stomp.StompSession.Subscription
- org.springframework.messaging.simp.broker.SubscriptionRegistry
- org.springframework.messaging.tcp.TcpConnectionHandler<P>
  - org.springframework.messaging.simp.stomp.ConnectionHandlingStompSession (also extends org.springframework.messaging.simp.stomp.StompSession)
- org.springframework.messaging.tcp.TcpOperations<P>
- org.springframework.messaging.simp.user.UserDestinationResolver
- org.springframework.messaging.handler.annotation.ValueConstants

## Annotation Type Hierarchy

- org.springframework.messaging.rsocket.annotation.ConnectMapping (implements java.lang.annotation.Annotation)
- org.springframework.messaging.handler.annotation.Payload (implements java.lang.annotation.Annotation)
- org.springframework.messaging.handler.annotation.Headers (implements java.lang.annotation.Annotation)
- org.springframework.messaging.handler.annotation.DestinationVariable (implements java.lang.annotation.Annotation)
- org.springframework.messaging.handler.annotation.Header (implements java.lang.annotation.Annotation)
- org.springframework.messaging.handler.annotation.MessageMapping (implements java.lang.annotation.Annotation)
- org.springframework.messaging.handler.annotation.SendTo (implements java.lang.annotation.Annotation)
- org.springframework.messaging.handler.annotation.MessageExceptionHandler (implements java.lang.annotation.Annotation)
- org.springframework.messaging.simp.annotation.SendToUser (implements java.lang.annotation.Annotation)
- org.springframework.messaging.simp.annotation.SubscribeMapping (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.springframework.messaging.simp.SimpMessageType
    - org.springframework.messaging.simp.stomp.StompCommand