Class DefaultJmsMessageListenerContainer

java.lang.Object
org.springframework.jms.support.JmsAccessor
org.springframework.jms.support.destination.JmsDestinationAccessor
org.springframework.jms.listener.AbstractJmsListeningContainer
org.springframework.jms.listener.AbstractMessageListenerContainer
org.springframework.jms.listener.AbstractPollingMessageListenerContainer
org.springframework.jms.listener.DefaultMessageListenerContainer
org.apache.camel.component.jms.DefaultJmsMessageListenerContainer
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle, org.springframework.jms.listener.MessageListenerContainer
Direct Known Subclasses:
ExclusiveQueueMessageListenerContainer, SharedQueueMessageListenerContainer

public class DefaultJmsMessageListenerContainer extends org.springframework.jms.listener.DefaultMessageListenerContainer
The default container which listen for messages on the JMS destination.

This implementation extends Springs DefaultMessageListenerContainer supporting automatic recovery and throttling.

  • Nested Class Summary

    Nested classes/interfaces inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer

    org.springframework.jms.listener.AbstractJmsListeningContainer.SharedConnectionNotInitializedException
  • Field Summary

    Fields inherited from class org.springframework.jms.listener.DefaultMessageListenerContainer

    CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION, DEFAULT_RECOVERY_INTERVAL, DEFAULT_THREAD_NAME_PREFIX

    Fields inherited from class org.springframework.jms.listener.AbstractPollingMessageListenerContainer

    DEFAULT_RECEIVE_TIMEOUT

    Fields inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer

    lifecycleMonitor, sharedConnectionMonitor

    Fields inherited from class org.springframework.jms.support.destination.JmsDestinationAccessor

    RECEIVE_TIMEOUT_INDEFINITE_WAIT, RECEIVE_TIMEOUT_NO_WAIT

    Fields inherited from class org.springframework.jms.support.JmsAccessor

    logger

    Fields inherited from interface org.springframework.context.SmartLifecycle

    DEFAULT_PHASE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    DefaultJmsMessageListenerContainer(JmsEndpoint endpoint, boolean allowQuickStop)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected org.springframework.core.task.TaskExecutor
    Create a default TaskExecutor.
    void
     
    protected boolean
    Whether this DefaultMessageListenerContainer allows the runningAllowed() to quick stop in case JmsConfiguration.isAcceptMessagesWhileStopping() is enabled, and CamelContext is currently being stopped.
    protected boolean
     
    void
     
    protected void
     

    Methods inherited from class org.springframework.jms.listener.DefaultMessageListenerContainer

    applyBackOffTime, doInitialize, doRescheduleTask, doShutdown, establishSharedConnection, getActiveConsumerCount, getCacheLevel, getConcurrentConsumers, getIdleConsumerLimit, getIdleReceivesPerTaskLimit, getIdleTaskExecutionLimit, getMaxConcurrentConsumers, getMaxMessagesPerTask, getScheduledConsumerCount, handleListenerSetupFailure, initialize, isRecovering, isRegisteredWithDestination, messageReceived, noMessageReceived, recoverAfterListenerSetupFailure, refreshConnectionUntilSuccessful, refreshDestination, scheduleNewInvokerIfAppropriate, setBackOff, setCacheLevel, setCacheLevelName, setConcurrency, setConcurrentConsumers, setIdleConsumerLimit, setIdleReceivesPerTaskLimit, setIdleTaskExecutionLimit, setMaxConcurrentConsumers, setMaxMessagesPerTask, setRecoveryInterval, setTaskExecutor, sharedConnectionEnabled, start, startSharedConnection, stop

    Methods inherited from class org.springframework.jms.listener.AbstractPollingMessageListenerContainer

    createListenerConsumer, doReceiveAndExecute, getConnection, getReceiveTimeout, getSession, getTransactionManager, isSessionLocallyTransacted, receiveAndExecute, receiveMessage, setReceiveTimeout, setSessionTransacted, setTransactionManager, setTransactionName, setTransactionTimeout, shouldCommitAfterNoMessageReceived

    Methods inherited from class org.springframework.jms.listener.AbstractMessageListenerContainer

    checkMessageListener, commitIfNecessary, createConsumer, createObservation, doExecuteListener, doInvokeListener, doInvokeListener, executeListener, getDefaultSubscriptionName, getDestination, getDestinationDescription, getDestinationName, getDurableSubscriptionName, getErrorHandler, getExceptionListener, getMessageConverter, getMessageListener, getMessageSelector, getObservationRegistry, getReplyQosSettings, getSubscriptionName, handleListenerException, invokeErrorHandler, invokeExceptionListener, invokeListener, isAcceptMessagesWhileStopping, isExposeListenerSession, isPubSubNoLocal, isReplyPubSubDomain, isSubscriptionDurable, isSubscriptionShared, rollbackIfNecessary, rollbackOnExceptionIfNecessary, setAcceptMessagesWhileStopping, setDestination, setDestinationName, setDurableSubscriptionName, setErrorHandler, setExceptionListener, setExposeListenerSession, setMessageConverter, setMessageListener, setMessageSelector, setObservationRegistry, setPubSubNoLocal, setReplyPubSubDomain, setReplyQosSettings, setSubscriptionDurable, setSubscriptionName, setSubscriptionShared, setupMessageListener, validateConfiguration

    Methods inherited from class org.springframework.jms.listener.AbstractJmsListeningContainer

    afterPropertiesSet, createSharedConnection, doStart, doStop, getBeanName, getClientId, getPausedTaskCount, getPhase, getSharedConnection, isActive, isAutoStartup, isRunning, logRejectedTask, prepareSharedConnection, refreshSharedConnection, releaseSharedConnection, rescheduleTaskIfNecessary, resumePausedTasks, setAutoStartup, setBeanName, setClientId, setPhase, shutdown

    Methods inherited from class org.springframework.jms.support.destination.JmsDestinationAccessor

    getDestinationResolver, isPubSubDomain, receiveFromConsumer, resolveDestinationName, setDestinationResolver, setPubSubDomain

    Methods inherited from class org.springframework.jms.support.JmsAccessor

    convertJmsAccessException, createConnection, createSession, getConnectionFactory, getSessionAcknowledgeMode, isClientAcknowledge, isSessionTransacted, obtainConnectionFactory, setConnectionFactory, setSessionAcknowledgeMode, setSessionAcknowledgeModeName

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.springframework.context.Lifecycle

    isRunning

    Methods inherited from interface org.springframework.jms.listener.MessageListenerContainer

    getDestinationResolver, isPubSubDomain

    Methods inherited from interface org.springframework.context.SmartLifecycle

    getPhase, isAutoStartup
  • Constructor Details

    • DefaultJmsMessageListenerContainer

      public DefaultJmsMessageListenerContainer(JmsEndpoint endpoint)
    • DefaultJmsMessageListenerContainer

      public DefaultJmsMessageListenerContainer(JmsEndpoint endpoint, boolean allowQuickStop)
  • Method Details

    • isAllowQuickStop

      protected boolean isAllowQuickStop()
      Whether this DefaultMessageListenerContainer allows the runningAllowed() to quick stop in case JmsConfiguration.isAcceptMessagesWhileStopping() is enabled, and CamelContext is currently being stopped.
    • runningAllowed

      protected boolean runningAllowed()
      Overrides:
      runningAllowed in class org.springframework.jms.listener.AbstractJmsListeningContainer
    • createDefaultTaskExecutor

      protected org.springframework.core.task.TaskExecutor createDefaultTaskExecutor()
      Create a default TaskExecutor. Called if no explicit TaskExecutor has been specified.

      The type of TaskExecutor will depend on the value of JmsConfiguration.getDefaultTaskExecutorType(). For more details, refer to the Javadoc of DefaultTaskExecutorType.

      In all cases, it uses the specified bean name and Camel's ExecutorServiceManager to resolve the thread name.

      Overrides:
      createDefaultTaskExecutor in class org.springframework.jms.listener.DefaultMessageListenerContainer
      See Also:
    • stop

      public void stop() throws org.springframework.jms.JmsException
      Specified by:
      stop in interface org.springframework.context.Lifecycle
      Overrides:
      stop in class org.springframework.jms.listener.AbstractJmsListeningContainer
      Throws:
      org.springframework.jms.JmsException
    • destroy

      public void destroy()
      Specified by:
      destroy in interface org.springframework.beans.factory.DisposableBean
      Overrides:
      destroy in class org.springframework.jms.listener.AbstractJmsListeningContainer
    • stopSharedConnection

      protected void stopSharedConnection()
      Overrides:
      stopSharedConnection in class org.springframework.jms.listener.DefaultMessageListenerContainer