Class ListenerContainerFactoryBean
java.lang.Object
org.springframework.beans.factory.config.AbstractFactoryBean<AbstractMessageListenerContainer>
org.springframework.amqp.rabbit.config.ListenerContainerFactoryBean
- All Implemented Interfaces:
Aware
,BeanClassLoaderAware
,BeanFactoryAware
,BeanNameAware
,DisposableBean
,FactoryBean<AbstractMessageListenerContainer>
,InitializingBean
,ApplicationContextAware
,ApplicationEventPublisherAware
,Lifecycle
,Phased
,SmartLifecycle
public class ListenerContainerFactoryBean
extends AbstractFactoryBean<AbstractMessageListenerContainer>
implements ApplicationContextAware, BeanNameAware, ApplicationEventPublisherAware, SmartLifecycle
A Factory bean to create a listener container.
- Since:
- 2.0
- Author:
- Gary Russell, Artem Bilan, Johno Crawford
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic enum
The container type. -
Field Summary
Fields inherited from class org.springframework.beans.factory.config.AbstractFactoryBean
logger
Fields inherited from interface org.springframework.beans.factory.FactoryBean
OBJECT_TYPE_ATTRIBUTE
Fields inherited from interface org.springframework.context.SmartLifecycle
DEFAULT_PHASE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected AbstractMessageListenerContainer
Class<?>
int
getPhase()
boolean
boolean
void
setAcknowledgeMode
(AcknowledgeMode acknowledgeMode) void
setAdviceChain
(Advice... adviceChain) void
setAfterReceivePostProcessors
(MessagePostProcessor... afterReceivePostProcessors) void
setApplicationContext
(ApplicationContext applicationContext) void
setApplicationEventPublisher
(ApplicationEventPublisher applicationEventPublisher) void
setAutoDeclare
(boolean autoDeclare) void
setAutoStartup
(boolean autoStartup) void
setBatchSize
(int batchSize) This property has several functions.void
setBeanName
(String beanName) void
setChannelTransacted
(boolean transactional) void
setConcurrentConsumers
(int concurrentConsumers) void
setConnectionFactory
(ConnectionFactory connectionFactory) void
setConsecutiveActiveTrigger
(int consecutiveActiveTrigger) void
setConsecutiveIdleTrigger
(int consecutiveIdleTrigger) void
setConsumerArguments
(Map<String, Object> args) void
setConsumerBatchEnabled
(boolean consumerBatchEnabled) Set to true to present a list of messages based on thesetBatchSize(int)
, if the container and listener support it.void
setConsumersPerQueue
(int consumersPerQueue) void
setConsumerTagStrategy
(ConsumerTagStrategy consumerTagStrategy) void
setDeBatchingEnabled
(boolean deBatchingEnabled) void
setDeclarationRetries
(int declarationRetries) void
setDefaultRequeueRejected
(boolean defaultRequeueRejected) void
Set aContainerCustomizer
that is invoked after a container is created and configured to enable further customization of the container.void
setErrorHandler
(ErrorHandler errorHandler) void
setExclusive
(boolean exclusive) void
setExclusiveConsumerExceptionLogger
(ConditionalExceptionLogger exclusiveConsumerExceptionLogger) void
setExposeListenerChannel
(boolean exposeListenerChannel) void
setFailedDeclarationRetryInterval
(long failedDeclarationRetryInterval) void
setGlobalQos
(boolean globalQos) Apply prefetch to the entire channel.void
setIdleEventInterval
(long idleEventInterval) void
setListenerId
(String listenerId) void
setMaxConcurrentConsumers
(int maxConcurrentConsumers) void
setMessageListener
(MessageListener messageListener) void
setMessagePropertiesConverter
(MessagePropertiesConverter messagePropertiesConverter) void
setMicrometerEnabled
(boolean enabled) Set to false to disable micrometer listener timers.void
setMicrometerTags
(Map<String, String> tags) Set additional tags for the Micrometer listener timers.void
setMismatchedQueuesFatal
(boolean mismatchedQueuesFatal) void
setMissingQueuesFatal
(boolean missingQueuesFatal) void
setMonitorInterval
(long monitorInterval) void
setNoLocal
(Boolean noLocal) void
setPhase
(int phase) void
setPossibleAuthenticationFailureFatal
(Boolean possibleAuthenticationFailureFatal) void
setPrefetchCount
(int prefetchCount) void
setQueueNames
(String... queueName) void
void
setRabbitAdmin
(RabbitAdmin rabbitAdmin) void
setReceiveTimeout
(long receiveTimeout) void
setRecoveryBackOff
(BackOff recoveryBackOff) void
setRecoveryInterval
(long recoveryInterval) void
setRetryDeclarationInterval
(long retryDeclarationInterval) void
setShutdownTimeout
(long shutdownTimeout) void
Set aContainerCustomizer
that is invoked after a container is created and configured to enable further customization of the container.void
setStartConsumerMinInterval
(long startConsumerMinInterval) void
setStopConsumerMinInterval
(long stopConsumerMinInterval) void
setTaskExecutor
(Executor taskExecutor) void
setTaskScheduler
(TaskScheduler taskScheduler) void
setTransactionAttribute
(TransactionAttribute transactionAttribute) void
setTransactionManager
(PlatformTransactionManager transactionManager) void
void
start()
void
stop()
void
Methods inherited from class org.springframework.beans.factory.config.AbstractFactoryBean
afterPropertiesSet, destroy, destroyInstance, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, isSingleton, setBeanClassLoader, setBeanFactory, setSingleton
-
Constructor Details
-
ListenerContainerFactoryBean
public ListenerContainerFactoryBean()
-
-
Method Details
-
setApplicationEventPublisher
- Specified by:
setApplicationEventPublisher
in interfaceApplicationEventPublisherAware
-
setBeanName
- Specified by:
setBeanName
in interfaceBeanNameAware
-
setApplicationContext
- Specified by:
setApplicationContext
in interfaceApplicationContextAware
- Throws:
BeansException
-
setType
-
setConnectionFactory
-
setChannelTransacted
public void setChannelTransacted(boolean transactional) -
setAcknowledgeMode
-
setQueueNames
-
setQueues
-
setExposeListenerChannel
public void setExposeListenerChannel(boolean exposeListenerChannel) -
setMessageListener
-
setErrorHandler
-
setDeBatchingEnabled
public void setDeBatchingEnabled(boolean deBatchingEnabled) -
setAdviceChain
-
setAfterReceivePostProcessors
-
setAutoStartup
public void setAutoStartup(boolean autoStartup) -
setPhase
public void setPhase(int phase) -
setListenerId
-
setConsumerTagStrategy
-
setConsumerArguments
-
setNoLocal
-
setExclusive
public void setExclusive(boolean exclusive) -
setDefaultRequeueRejected
public void setDefaultRequeueRejected(boolean defaultRequeueRejected) -
setPrefetchCount
public void setPrefetchCount(int prefetchCount) -
setGlobalQos
public void setGlobalQos(boolean globalQos) Apply prefetch to the entire channel.- Parameters:
globalQos
- true for a channel-wide prefetch.- Since:
- 2.2.17
- See Also:
-
Channel.basicQos(int, boolean)
-
setShutdownTimeout
public void setShutdownTimeout(long shutdownTimeout) -
setIdleEventInterval
public void setIdleEventInterval(long idleEventInterval) -
setTransactionManager
-
setTransactionAttribute
-
setTaskExecutor
-
setRecoveryInterval
public void setRecoveryInterval(long recoveryInterval) -
setRecoveryBackOff
-
setMessagePropertiesConverter
-
setRabbitAdmin
-
setMissingQueuesFatal
public void setMissingQueuesFatal(boolean missingQueuesFatal) -
setPossibleAuthenticationFailureFatal
-
setMismatchedQueuesFatal
public void setMismatchedQueuesFatal(boolean mismatchedQueuesFatal) -
setAutoDeclare
public void setAutoDeclare(boolean autoDeclare) -
setFailedDeclarationRetryInterval
public void setFailedDeclarationRetryInterval(long failedDeclarationRetryInterval) -
setExclusiveConsumerExceptionLogger
public void setExclusiveConsumerExceptionLogger(ConditionalExceptionLogger exclusiveConsumerExceptionLogger) -
setConsumersPerQueue
public void setConsumersPerQueue(int consumersPerQueue) -
setTaskScheduler
-
setMonitorInterval
public void setMonitorInterval(long monitorInterval) -
setConcurrentConsumers
public void setConcurrentConsumers(int concurrentConsumers) -
setMaxConcurrentConsumers
public void setMaxConcurrentConsumers(int maxConcurrentConsumers) -
setStartConsumerMinInterval
public void setStartConsumerMinInterval(long startConsumerMinInterval) -
setStopConsumerMinInterval
public void setStopConsumerMinInterval(long stopConsumerMinInterval) -
setConsecutiveActiveTrigger
public void setConsecutiveActiveTrigger(int consecutiveActiveTrigger) -
setConsecutiveIdleTrigger
public void setConsecutiveIdleTrigger(int consecutiveIdleTrigger) -
setReceiveTimeout
public void setReceiveTimeout(long receiveTimeout) -
setBatchSize
public void setBatchSize(int batchSize) This property has several functions.When the channel is transacted, it determines how many messages to process in a single transaction. It should be less than or equal to
the prefetch count
.It also affects how often acks are sent when using
AcknowledgeMode.AUTO
- one ack per BatchSize.Finally, when
setConsumerBatchEnabled(boolean)
is true, it determines how many records to include in the batch as long as sufficient messages arrive withinsetReceiveTimeout(long)
.IMPORTANT The batch size represents the number of physical messages received. If
setDeBatchingEnabled(boolean)
is true and a message is a batch created by a producer, the actual number of messages received by the listener will be larger than this batch size.Default is 1.
- Parameters:
batchSize
- the batch size- Since:
- 2.2
-
setConsumerBatchEnabled
public void setConsumerBatchEnabled(boolean consumerBatchEnabled) Set to true to present a list of messages based on thesetBatchSize(int)
, if the container and listener support it.- Parameters:
consumerBatchEnabled
- true to create message batches in the container.- Since:
- 2.2
- See Also:
-
setDeclarationRetries
public void setDeclarationRetries(int declarationRetries) -
setRetryDeclarationInterval
public void setRetryDeclarationInterval(long retryDeclarationInterval) -
setMicrometerEnabled
public void setMicrometerEnabled(boolean enabled) Set to false to disable micrometer listener timers.- Parameters:
enabled
- false to disable.- Since:
- 2.4.6
-
setMicrometerTags
Set additional tags for the Micrometer listener timers.- Parameters:
tags
- the tags.- Since:
- 2.4.6
-
setSMLCCustomizer
Set aContainerCustomizer
that is invoked after a container is created and configured to enable further customization of the container.- Parameters:
customizer
- the customizer.- Since:
- 2.4.6
-
setDMLCCustomizer
Set aContainerCustomizer
that is invoked after a container is created and configured to enable further customization of the container.- Parameters:
customizer
- the customizer.- Since:
- 2.4.6
-
getObjectType
- Specified by:
getObjectType
in interfaceFactoryBean<AbstractMessageListenerContainer>
- Specified by:
getObjectType
in classAbstractFactoryBean<AbstractMessageListenerContainer>
-
createInstance
- Specified by:
createInstance
in classAbstractFactoryBean<AbstractMessageListenerContainer>
-
start
public void start() -
stop
public void stop() -
isRunning
public boolean isRunning() -
getPhase
public int getPhase()- Specified by:
getPhase
in interfacePhased
- Specified by:
getPhase
in interfaceSmartLifecycle
-
isAutoStartup
public boolean isAutoStartup()- Specified by:
isAutoStartup
in interfaceSmartLifecycle
-
stop
- Specified by:
stop
in interfaceSmartLifecycle
-