Class 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.springframework.core.task.TaskExecutor createDefaultTaskExecutor()
      Create a default TaskExecutor.
      void destroy()  
      protected boolean isAllowQuickStop()
      Whether this DefaultMessageListenerContainer allows the runningAllowed() to quick stop in case JmsConfiguration.isAcceptMessagesWhileStopping() is enabled, and CamelContext is currently being stopped.
      protected boolean runningAllowed()  
      void stop()  
      protected void stopSharedConnection()  
      • 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, doExecuteListener, doInvokeListener, doInvokeListener, executeListener, getDefaultSubscriptionName, getDestination, getDestinationDescription, getDestinationName, getDurableSubscriptionName, getErrorHandler, getExceptionListener, getMessageConverter, getMessageListener, getMessageSelector, getReplyQosSettings, getSubscriptionName, handleListenerException, invokeErrorHandler, invokeExceptionListener, invokeListener, isAcceptMessagesWhileStopping, isExposeListenerSession, isPubSubNoLocal, isReplyPubSubDomain, isSubscriptionDurable, isSubscriptionShared, rollbackIfNecessary, rollbackOnExceptionIfNecessary, setAcceptMessagesWhileStopping, setDestination, setDestinationName, setDurableSubscriptionName, setErrorHandler, setExceptionListener, setExposeListenerSession, setMessageConverter, setMessageListener, setMessageSelector, 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, 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 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 Detail

      • DefaultJmsMessageListenerContainer

        public DefaultJmsMessageListenerContainer​(JmsEndpoint endpoint)
      • DefaultJmsMessageListenerContainer

        public DefaultJmsMessageListenerContainer​(JmsEndpoint endpoint,
                                                  boolean allowQuickStop)
    • Method Detail

      • 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:
        JmsConfiguration.setDefaultTaskExecutorType(DefaultTaskExecutorType), ExecutorConfigurationSupport.setBeanName(String)
      • 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