Package org.apache.camel.component.jms
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 defaultcontainer
which listen for messages on the JMS destination. This implementation extends SpringsDefaultMessageListenerContainer
supporting automatic recovery and throttling.
-
-
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
-
-
Constructor Summary
Constructors Constructor Description DefaultJmsMessageListenerContainer(JmsEndpoint endpoint)
DefaultJmsMessageListenerContainer(JmsEndpoint endpoint, boolean allowQuickStop)
-
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 thisDefaultMessageListenerContainer
allows therunningAllowed()
to quick stop in caseJmsConfiguration.isAcceptMessagesWhileStopping()
is enabled, andCamelContext
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 class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Constructor Detail
-
DefaultJmsMessageListenerContainer
public DefaultJmsMessageListenerContainer(JmsEndpoint endpoint)
-
DefaultJmsMessageListenerContainer
public DefaultJmsMessageListenerContainer(JmsEndpoint endpoint, boolean allowQuickStop)
-
-
Method Detail
-
isAllowQuickStop
protected boolean isAllowQuickStop()
Whether thisDefaultMessageListenerContainer
allows therunningAllowed()
to quick stop in caseJmsConfiguration.isAcceptMessagesWhileStopping()
is enabled, andCamelContext
is currently being stopped.
-
runningAllowed
protected boolean runningAllowed()
- Overrides:
runningAllowed
in classorg.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 ofTaskExecutor
will depend on the value ofJmsConfiguration.getDefaultTaskExecutorType()
. For more details, refer to the Javadoc ofDefaultTaskExecutorType
. In all cases, it uses the specified bean name and Camel'sExecutorServiceManager
to resolve the thread name.- Overrides:
createDefaultTaskExecutor
in classorg.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 interfaceorg.springframework.context.Lifecycle
- Overrides:
stop
in classorg.springframework.jms.listener.AbstractJmsListeningContainer
- Throws:
org.springframework.jms.JmsException
-
destroy
public void destroy()
- Specified by:
destroy
in interfaceorg.springframework.beans.factory.DisposableBean
- Overrides:
destroy
in classorg.springframework.jms.listener.AbstractJmsListeningContainer
-
stopSharedConnection
protected void stopSharedConnection()
- Overrides:
stopSharedConnection
in classorg.springframework.jms.listener.DefaultMessageListenerContainer
-
-