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

A Factory bean to create a listener container.
Since:
2.0
Author:
Gary Russell, Artem Bilan, Johno Crawford, Jeonggi Kim
  • Constructor Details

    • ListenerContainerFactoryBean

      public ListenerContainerFactoryBean()
  • Method Details

    • setApplicationEventPublisher

      public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
      Specified by:
      setApplicationEventPublisher in interface ApplicationEventPublisherAware
    • setBeanName

      public void setBeanName(String beanName)
      Specified by:
      setBeanName in interface BeanNameAware
    • setApplicationContext

      public void setApplicationContext(ApplicationContext applicationContext) throws BeansException
      Specified by:
      setApplicationContext in interface ApplicationContextAware
      Throws:
      BeansException
    • setType

      public void setType(ListenerContainerFactoryBean.Type type)
    • setConnectionFactory

      public void setConnectionFactory(ConnectionFactory connectionFactory)
    • setChannelTransacted

      public void setChannelTransacted(boolean transactional)
    • setAcknowledgeMode

      public void setAcknowledgeMode(AcknowledgeMode acknowledgeMode)
    • setQueueNames

      public void setQueueNames(String... queueName)
    • setQueues

      public void setQueues(Queue... queues)
    • setExposeListenerChannel

      public void setExposeListenerChannel(boolean exposeListenerChannel)
    • setMessageListener

      public void setMessageListener(MessageListener messageListener)
    • setErrorHandler

      public void setErrorHandler(ErrorHandler errorHandler)
    • setDeBatchingEnabled

      public void setDeBatchingEnabled(boolean deBatchingEnabled)
    • setAdviceChain

      public void setAdviceChain(Advice... adviceChain)
    • setAfterReceivePostProcessors

      public void setAfterReceivePostProcessors(MessagePostProcessor... afterReceivePostProcessors)
    • setAutoStartup

      public void setAutoStartup(boolean autoStartup)
    • setPhase

      public void setPhase(int phase)
    • setListenerId

      public void setListenerId(String listenerId)
    • setConsumerTagStrategy

      public void setConsumerTagStrategy(ConsumerTagStrategy consumerTagStrategy)
    • setConsumerArguments

      public void setConsumerArguments(Map<String,Object> args)
    • setNoLocal

      public void setNoLocal(Boolean noLocal)
    • 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

      public void setTransactionManager(PlatformTransactionManager transactionManager)
    • setTransactionAttribute

      public void setTransactionAttribute(TransactionAttribute transactionAttribute)
    • setTaskExecutor

      public void setTaskExecutor(Executor taskExecutor)
    • setRecoveryInterval

      public void setRecoveryInterval(long recoveryInterval)
    • setRecoveryBackOff

      public void setRecoveryBackOff(BackOff recoveryBackOff)
    • setMessagePropertiesConverter

      public void setMessagePropertiesConverter(MessagePropertiesConverter messagePropertiesConverter)
    • setRabbitAdmin

      public void setRabbitAdmin(RabbitAdmin rabbitAdmin)
    • setMissingQueuesFatal

      public void setMissingQueuesFatal(boolean missingQueuesFatal)
    • setPossibleAuthenticationFailureFatal

      public void setPossibleAuthenticationFailureFatal(Boolean possibleAuthenticationFailureFatal)
    • 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

      public void setTaskScheduler(TaskScheduler taskScheduler)
    • 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)
    • setBatchReceiveTimeout

      public void setBatchReceiveTimeout(long batchReceiveTimeout)
      The number of milliseconds of timeout for gathering batch messages. It limits the time to wait to fill batchSize. Default is 0 (no timeout).
      Parameters:
      batchReceiveTimeout - the timeout for gathering batch messages.
      Since:
      3.1.2
      See Also:
    • 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 within setReceiveTimeout(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 the setBatchSize(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

      public void setMicrometerTags(Map<String,String> tags)
      Set additional tags for the Micrometer listener timers.
      Parameters:
      tags - the tags.
      Since:
      2.4.6
    • setSMLCCustomizer

      public void setSMLCCustomizer(ContainerCustomizer<SimpleMessageListenerContainer> customizer)
      Set a ContainerCustomizer 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

      public void setDMLCCustomizer(ContainerCustomizer<DirectMessageListenerContainer> customizer)
      Set a ContainerCustomizer 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

      public Class<?> getObjectType()
      Specified by:
      getObjectType in interface FactoryBean<AbstractMessageListenerContainer>
      Specified by:
      getObjectType in class AbstractFactoryBean<AbstractMessageListenerContainer>
    • createInstance

      protected AbstractMessageListenerContainer createInstance()
      Specified by:
      createInstance in class AbstractFactoryBean<AbstractMessageListenerContainer>
    • start

      public void start()
      Specified by:
      start in interface Lifecycle
    • stop

      public void stop()
      Specified by:
      stop in interface Lifecycle
    • isRunning

      public boolean isRunning()
      Specified by:
      isRunning in interface Lifecycle
    • getPhase

      public int getPhase()
      Specified by:
      getPhase in interface Phased
      Specified by:
      getPhase in interface SmartLifecycle
    • isAutoStartup

      public boolean isAutoStartup()
      Specified by:
      isAutoStartup in interface SmartLifecycle
    • stop

      public void stop(Runnable callback)
      Specified by:
      stop in interface SmartLifecycle