org.springframework.jms.config

## Class AbstractJmsListenerContainerFactory<C extends AbstractMessageListenerContainer>

- java.lang.Object
- - org.springframework.jms.config.AbstractJmsListenerContainerFactory<C>

- Type Parameters:
    `C` - the container type
  All Implemented Interfaces:
    JmsListenerContainerFactory<C>
  Direct Known Subclasses:
    DefaultJmsListenerContainerFactory, SimpleJmsListenerContainerFactory

      public abstract class AbstractJmsListenerContainerFactory<C extends AbstractMessageListenerContainer>
      extends Object
      implements JmsListenerContainerFactory<C>

  Base `JmsListenerContainerFactory` for Spring's base container implementation.
  Since:
    4.1
  Author:
    Stephane Nicoll
  See Also:
    `AbstractMessageListenerContainer`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Log` | `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractJmsListenerContainerFactory()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract C` | `createContainerInstance()` Create an empty container instance.
    `C` | `createListenerContainer(JmsListenerEndpoint endpoint)` Create a `MessageListenerContainer` for the given `JmsListenerEndpoint`.
    `protected void` | `initializeContainer(C instance)` Further initialize the specified container.
    `void` | `setAutoStartup(boolean autoStartup)`
    `void` | `setClientId(String clientId)`
    `void` | `setConnectionFactory(ConnectionFactory connectionFactory)`
    `void` | `setDestinationResolver(DestinationResolver destinationResolver)`
    `void` | `setErrorHandler(ErrorHandler errorHandler)`
    `void` | `setExceptionListener(ExceptionListener exceptionListener)`
    `void` | `setMessageConverter(MessageConverter messageConverter)`
    `void` | `setPhase(int phase)`
    `void` | `setPubSubDomain(Boolean pubSubDomain)`
    `void` | `setReplyPubSubDomain(Boolean replyPubSubDomain)`
    `void` | `setReplyQosSettings(QosSettings replyQosSettings)`
    `void` | `setSessionAcknowledgeMode(Integer sessionAcknowledgeMode)`
    `void` | `setSessionTransacted(Boolean sessionTransacted)`
    `void` | `setSubscriptionDurable(Boolean subscriptionDurable)`
    `void` | `setSubscriptionShared(Boolean subscriptionShared)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### logger

          protected final Log logger

  - ### Constructor Detail

    - #### AbstractJmsListenerContainerFactory

          public AbstractJmsListenerContainerFactory()

  - ### Method Detail

    - #### setConnectionFactory

          public void setConnectionFactory(ConnectionFactory connectionFactory)

      See Also:
        `JmsAccessor.setConnectionFactory(ConnectionFactory)`

    - #### setDestinationResolver

          public void setDestinationResolver(DestinationResolver destinationResolver)

      See Also:
        `JmsDestinationAccessor.setDestinationResolver(DestinationResolver)`

    - #### setMessageConverter

          public void setMessageConverter(MessageConverter messageConverter)

      See Also:
        `AbstractMessageListenerContainer.setMessageConverter(MessageConverter)`

    - #### setExceptionListener

          public void setExceptionListener(ExceptionListener exceptionListener)

      Since:
        5.2.8
      See Also:
        `AbstractMessageListenerContainer.setExceptionListener(ExceptionListener)`

    - #### setErrorHandler

          public void setErrorHandler(ErrorHandler errorHandler)

      See Also:
        `AbstractMessageListenerContainer.setErrorHandler(ErrorHandler)`

    - #### setSessionTransacted

          public void setSessionTransacted(Boolean sessionTransacted)

      See Also:
        `JmsAccessor.setSessionTransacted(boolean)`

    - #### setSessionAcknowledgeMode

          public void setSessionAcknowledgeMode(Integer sessionAcknowledgeMode)

      See Also:
        `JmsAccessor.setSessionAcknowledgeMode(int)`

    - #### setPubSubDomain

          public void setPubSubDomain(Boolean pubSubDomain)

      See Also:
        `JmsDestinationAccessor.setPubSubDomain(boolean)`

    - #### setReplyPubSubDomain

          public void setReplyPubSubDomain(Boolean replyPubSubDomain)

      See Also:
        `AbstractMessageListenerContainer.setReplyPubSubDomain(boolean)`

    - #### setReplyQosSettings

          public void setReplyQosSettings(QosSettings replyQosSettings)

      See Also:
        `AbstractMessageListenerContainer.setReplyQosSettings(QosSettings)`

    - #### setSubscriptionDurable

          public void setSubscriptionDurable(Boolean subscriptionDurable)

      See Also:
        `AbstractMessageListenerContainer.setSubscriptionDurable(boolean)`

    - #### setSubscriptionShared

          public void setSubscriptionShared(Boolean subscriptionShared)

      See Also:
        `AbstractMessageListenerContainer.setSubscriptionShared(boolean)`

    - #### setClientId

          public void setClientId(String clientId)

      See Also:
        `AbstractJmsListeningContainer.setClientId(String)`

    - #### setPhase

          public void setPhase(int phase)

      See Also:
        `AbstractJmsListeningContainer.setPhase(int)`

    - #### setAutoStartup

          public void setAutoStartup(boolean autoStartup)

      See Also:
        `AbstractJmsListeningContainer.setAutoStartup(boolean)`

    - #### createListenerContainer

          public C createListenerContainer(JmsListenerEndpoint endpoint)

      Description copied from interface: `JmsListenerContainerFactory`
      Create a `MessageListenerContainer` for the given `JmsListenerEndpoint`.
      Specified by:
        `createListenerContainer` in interface `JmsListenerContainerFactory<C extends AbstractMessageListenerContainer>`
      Parameters:
        `endpoint` - the endpoint to configure
      Returns:
        the created container

    - #### createContainerInstance

          protected abstract C createContainerInstance()

      Create an empty container instance.

    - #### initializeContainer

          protected void initializeContainer(C instance)

      Further initialize the specified container.

      Subclasses can inherit from this method to apply extra configuration if necessary.