# Hierarchy For All Packages

Package Hierarchies:

- org.springframework.jms,
- org.springframework.jms.annotation,
- org.springframework.jms.config,
- org.springframework.jms.connection,
- org.springframework.jms.core,
- org.springframework.jms.core.support,
- org.springframework.jms.listener,
- org.springframework.jms.listener.adapter,
- org.springframework.jms.listener.endpoint,
- org.springframework.jms.remoting,
- org.springframework.jms.support,
- org.springframework.jms.support.converter,
- org.springframework.jms.support.destination

## Class Hierarchy

- java.lang.Object
  - org.springframework.jms.listener.adapter.AbstractAdaptableMessageListener (implements javax.jms.MessageListener, org.springframework.jms.listener.SessionAwareMessageListener<M>)
    - org.springframework.jms.listener.adapter.MessageListenerAdapter (implements org.springframework.jms.listener.SubscriptionNameProvider)
    - org.springframework.jms.listener.adapter.MessagingMessageListenerAdapter
  - org.springframework.messaging.support.AbstractHeaderMapper<T> (implements org.springframework.messaging.support.HeaderMapper<T>)
    - org.springframework.jms.support.SimpleJmsHeaderMapper (implements org.springframework.jms.support.JmsHeaderMapper)
  - org.springframework.jms.config.AbstractJmsListenerContainerFactory<C> (implements org.springframework.jms.config.JmsListenerContainerFactory<C>)
    - org.springframework.jms.config.DefaultJmsListenerContainerFactory
    - org.springframework.jms.config.SimpleJmsListenerContainerFactory
  - org.springframework.jms.config.AbstractJmsListenerEndpoint (implements org.springframework.jms.config.JmsListenerEndpoint)
    - org.springframework.jms.config.MethodJmsListenerEndpoint (implements org.springframework.beans.factory.BeanFactoryAware)
    - org.springframework.jms.config.SimpleJmsListenerEndpoint
  - org.springframework.jca.endpoint.AbstractMessageEndpointFactory (implements org.springframework.beans.factory.BeanNameAware, javax.resource.spi.endpoint.MessageEndpointFactory)
    - org.springframework.jms.listener.endpoint.JmsMessageEndpointFactory
  - 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.jms.core.JmsMessagingTemplate (implements org.springframework.beans.factory.InitializingBean, org.springframework.jms.core.JmsMessageOperations)
  - org.springframework.transaction.support.AbstractPlatformTransactionManager (implements org.springframework.transaction.PlatformTransactionManager, java.io.Serializable)
    - org.springframework.jms.connection.JmsTransactionManager (implements org.springframework.beans.factory.InitializingBean, org.springframework.transaction.support.ResourceTransactionManager)
  - org.springframework.jms.support.destination.BeanFactoryDestinationResolver (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.jms.support.destination.DestinationResolver)
  - org.springframework.jms.connection.ChainedExceptionListener (implements javax.jms.ExceptionListener)
  - org.springframework.jms.connection.ConnectionFactoryUtils
  - org.springframework.jms.connection.DelegatingConnectionFactory (implements org.springframework.beans.factory.InitializingBean, javax.jms.QueueConnectionFactory, org.springframework.jms.connection.SmartConnectionFactory, javax.jms.TopicConnectionFactory)
  - org.springframework.jms.support.destination.DynamicDestinationResolver (implements org.springframework.jms.support.destination.DestinationResolver)
  - org.springframework.jca.endpoint.GenericMessageEndpointManager (implements org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.SmartLifecycle)
    - org.springframework.jms.listener.endpoint.JmsMessageEndpointManager (implements org.springframework.beans.factory.BeanNameAware, org.springframework.jms.listener.MessageListenerContainer)
  - org.springframework.jms.support.JmsAccessor (implements org.springframework.beans.factory.InitializingBean)
    - org.springframework.jms.support.destination.JmsDestinationAccessor
      - org.springframework.jms.listener.AbstractJmsListeningContainer (implements org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.context.SmartLifecycle)
        - org.springframework.jms.listener.AbstractMessageListenerContainer (implements org.springframework.jms.listener.MessageListenerContainer)
          - org.springframework.jms.listener.AbstractPollingMessageListenerContainer
            - org.springframework.jms.listener.DefaultMessageListenerContainer
          - org.springframework.jms.listener.SimpleMessageListenerContainer (implements javax.jms.ExceptionListener)
      - org.springframework.jms.core.JmsTemplate (implements org.springframework.jms.core.JmsOperations)
  - org.springframework.jms.listener.endpoint.JmsActivationSpecConfig
    - org.springframework.jms.config.DefaultJcaListenerContainerFactory (implements org.springframework.jms.config.JmsListenerContainerFactory<C>)
  - org.springframework.jms.annotation.JmsBootstrapConfiguration
  - org.springframework.jms.core.support.JmsGatewaySupport (implements org.springframework.beans.factory.InitializingBean)
  - org.springframework.jms.remoting.JmsInvokerClientInterceptor (implements org.springframework.beans.factory.InitializingBean, org.aopalliance.intercept.MethodInterceptor)
    - org.springframework.jms.remoting.JmsInvokerProxyFactoryBean (implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.FactoryBean<T>)
  - org.springframework.jms.annotation.JmsListenerAnnotationBeanPostProcessor (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor, org.springframework.core.Ordered, org.springframework.beans.factory.SmartInitializingSingleton)
  - org.springframework.jms.config.JmsListenerConfigUtils
  - org.springframework.jms.config.JmsListenerEndpointRegistrar (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean)
  - org.springframework.jms.config.JmsListenerEndpointRegistry (implements org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener<E>, org.springframework.beans.factory.DisposableBean, org.springframework.context.SmartLifecycle)
  - org.springframework.jms.listener.adapter.JmsResponse<T>
  - org.springframework.jms.support.JmsUtils
  - org.springframework.jndi.JndiAccessor
    - org.springframework.jndi.JndiLocatorSupport
      - org.springframework.jms.support.destination.JndiDestinationResolver (implements org.springframework.jms.support.destination.CachingDestinationResolver)
  - org.springframework.jms.support.converter.MappingJackson2MessageConverter (implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.jms.support.converter.SmartMessageConverter)
  - org.springframework.jms.support.converter.MarshallingMessageConverter (implements org.springframework.beans.factory.InitializingBean, org.springframework.jms.support.converter.MessageConverter)
  - org.springframework.messaging.support.MessageHeaderAccessor
    - org.springframework.messaging.support.NativeMessageHeaderAccessor
      - org.springframework.jms.support.JmsMessageHeaderAccessor
  - org.springframework.jms.support.converter.MessagingMessageConverter (implements org.springframework.beans.factory.InitializingBean, org.springframework.jms.support.converter.MessageConverter)
  - org.springframework.beans.factory.xml.NamespaceHandlerSupport (implements org.springframework.beans.factory.xml.NamespaceHandler)
    - org.springframework.jms.config.JmsNamespaceHandler
  - org.springframework.jms.support.QosSettings
  - org.springframework.remoting.support.RemotingSupport (implements org.springframework.beans.factory.BeanClassLoaderAware)
    - org.springframework.remoting.support.RemoteExporter
      - org.springframework.remoting.support.RemoteInvocationBasedExporter
        - org.springframework.jms.remoting.JmsInvokerServiceExporter (implements org.springframework.beans.factory.InitializingBean, org.springframework.jms.listener.SessionAwareMessageListener<M>)
  - org.springframework.transaction.support.ResourceHolderSupport (implements org.springframework.transaction.support.ResourceHolder)
    - org.springframework.jms.connection.JmsResourceHolder
  - org.springframework.jms.support.converter.SimpleMessageConverter (implements org.springframework.jms.support.converter.MessageConverter)
  - org.springframework.jms.connection.SingleConnectionFactory (implements javax.jms.ConnectionFactory, org.springframework.beans.factory.DisposableBean, javax.jms.ExceptionListener, org.springframework.beans.factory.InitializingBean, javax.jms.QueueConnectionFactory, javax.jms.TopicConnectionFactory)
    - org.springframework.jms.connection.CachingConnectionFactory
  - org.springframework.jms.listener.endpoint.StandardJmsActivationSpecFactory (implements org.springframework.jms.listener.endpoint.JmsActivationSpecFactory)
    - org.springframework.jms.listener.endpoint.DefaultJmsActivationSpecFactory
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.springframework.jms.listener.AbstractJmsListeningContainer.SharedConnectionNotInitializedException
        - org.springframework.jms.listener.endpoint.JmsMessageEndpointFactory.JmsResourceException
        - org.springframework.core.NestedRuntimeException
          - org.springframework.jms.JmsException
            - org.springframework.jms.support.destination.DestinationResolutionException
            - org.springframework.jms.IllegalStateException
            - org.springframework.jms.InvalidClientIDException
            - org.springframework.jms.InvalidDestinationException
            - org.springframework.jms.InvalidSelectorException
            - org.springframework.jms.JmsSecurityException
            - org.springframework.jms.listener.adapter.ListenerExecutionFailedException
            - org.springframework.jms.support.converter.MessageConversionException
            - org.springframework.jms.MessageEOFException
            - org.springframework.jms.MessageFormatException
            - org.springframework.jms.MessageNotReadableException
            - org.springframework.jms.MessageNotWriteableException
            - org.springframework.jms.listener.adapter.ReplyFailureException
            - org.springframework.jms.ResourceAllocationException
            - org.springframework.jms.connection.SynchedLocalTransactionFailedException
            - org.springframework.jms.TransactionInProgressException
            - org.springframework.jms.TransactionRolledBackException
            - org.springframework.jms.UncategorizedJmsException
  - org.springframework.jms.connection.TransactionAwareConnectionFactoryProxy (implements javax.jms.ConnectionFactory, javax.jms.QueueConnectionFactory, javax.jms.TopicConnectionFactory)
  - org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter (implements javax.jms.ConnectionFactory, org.springframework.beans.factory.InitializingBean, javax.jms.QueueConnectionFactory, javax.jms.TopicConnectionFactory)

## Interface Hierarchy

- java.lang.AutoCloseable
  - javax.jms.Session (also extends java.lang.Runnable)
    - org.springframework.jms.connection.SessionProxy
  - org.springframework.jms.connection.SessionProxy
- org.springframework.jms.core.BrowserCallback<T>
- javax.jms.ConnectionFactory
  - org.springframework.jms.connection.SmartConnectionFactory
- org.springframework.jms.connection.ConnectionFactoryUtils.ResourceFactory
- org.springframework.jms.support.destination.DestinationResolver
  - org.springframework.jms.support.destination.CachingDestinationResolver
- org.springframework.messaging.support.HeaderMapper<T>
  - org.springframework.jms.support.JmsHeaderMapper
- org.springframework.jms.listener.endpoint.JmsActivationSpecFactory
- org.springframework.jms.support.JmsHeaders
- org.springframework.jms.annotation.JmsListenerConfigurer
- org.springframework.jms.config.JmsListenerContainerFactory<C>
- org.springframework.jms.config.JmsListenerEndpoint
- org.springframework.jms.core.JmsOperations
- org.springframework.context.Lifecycle
  - org.springframework.jms.listener.MessageListenerContainer
  - org.springframework.context.SmartLifecycle (also extends org.springframework.context.Phased)
    - org.springframework.jms.listener.MessageListenerContainer
- org.springframework.jms.support.converter.MessageConverter
  - org.springframework.jms.support.converter.SmartMessageConverter
- org.springframework.jms.core.MessageCreator
- org.springframework.jms.core.MessagePostProcessor
- org.springframework.messaging.core.MessageReceivingOperations<D>
  - org.springframework.jms.core.JmsMessageOperations (also extends org.springframework.messaging.core.MessageRequestReplyOperations<D>, org.springframework.messaging.core.MessageSendingOperations<D>)
- org.springframework.messaging.core.MessageRequestReplyOperations<D>
  - org.springframework.jms.core.JmsMessageOperations (also extends org.springframework.messaging.core.MessageReceivingOperations<D>, org.springframework.messaging.core.MessageSendingOperations<D>)
- org.springframework.messaging.core.MessageSendingOperations<D>
  - org.springframework.jms.core.JmsMessageOperations (also extends org.springframework.messaging.core.MessageReceivingOperations<D>, org.springframework.messaging.core.MessageRequestReplyOperations<D>)
- org.springframework.context.Phased
  - org.springframework.jms.listener.MessageListenerContainer
  - org.springframework.context.SmartLifecycle (also extends org.springframework.context.Lifecycle)
    - org.springframework.jms.listener.MessageListenerContainer
- org.springframework.jms.core.ProducerCallback<T>
- java.lang.Runnable
  - javax.jms.Session (also extends java.lang.AutoCloseable)
    - org.springframework.jms.connection.SessionProxy
  - org.springframework.jms.connection.SessionProxy
- org.springframework.jms.listener.SessionAwareMessageListener<M>
- org.springframework.jms.core.SessionCallback<T>
- org.springframework.jms.listener.SubscriptionNameProvider

## Annotation Type Hierarchy

- org.springframework.jms.annotation.EnableJms (implements java.lang.annotation.Annotation)
- org.springframework.jms.annotation.JmsListeners (implements java.lang.annotation.Annotation)
- org.springframework.jms.annotation.JmsListener (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.springframework.jms.support.converter.MessageType