Class AbstractKafkaListenerContainerFactory<C extends AbstractMessageListenerContainer<K,​V>,​K,​V>

    • Field Detail

      • logger

        protected final org.springframework.core.log.LogAccessor logger
    • Constructor Detail

      • AbstractKafkaListenerContainerFactory

        public AbstractKafkaListenerContainerFactory()
    • Method Detail

      • setApplicationContext

        public void setApplicationContext​(org.springframework.context.ApplicationContext applicationContext)
                                   throws org.springframework.beans.BeansException
        Specified by:
        setApplicationContext in interface org.springframework.context.ApplicationContextAware
        Throws:
        org.springframework.beans.BeansException
      • setConsumerFactory

        public void setConsumerFactory​(ConsumerFactory<? super K,​? super V> consumerFactory)
        Specify a ConsumerFactory to use.
        Parameters:
        consumerFactory - The consumer factory.
      • getConsumerFactory

        public ConsumerFactory<? super K,​? super V> getConsumerFactory()
      • setMessageConverter

        public void setMessageConverter​(MessageConverter messageConverter)
        Set the message converter to use if dynamic argument type matching is needed.
        Parameters:
        messageConverter - the converter.
      • setRecordFilterStrategy

        public void setRecordFilterStrategy​(RecordFilterStrategy<? super K,​? super V> recordFilterStrategy)
        Set the record filter strategy.
        Parameters:
        recordFilterStrategy - the strategy.
      • setAckDiscarded

        public void setAckDiscarded​(java.lang.Boolean ackDiscarded)
        Set to true to ack discards when a filter strategy is in use.
        Parameters:
        ackDiscarded - the ackDiscarded.
      • setRetryTemplate

        public void setRetryTemplate​(org.springframework.retry.support.RetryTemplate retryTemplate)
        Set a retryTemplate.
        Parameters:
        retryTemplate - the template.
      • setRecoveryCallback

        public void setRecoveryCallback​(org.springframework.retry.RecoveryCallback<? extends java.lang.Object> recoveryCallback)
        Set a callback to be used with the retryTemplate.
        Parameters:
        recoveryCallback - the callback.
      • setStatefulRetry

        public void setStatefulRetry​(boolean statefulRetry)
        When using a RetryTemplate Set to true to enable stateful retry. Use in conjunction with a SeekToCurrentErrorHandler when retry can take excessive time; each failure goes back to the broker, to keep the Consumer alive.
        Parameters:
        statefulRetry - true to enable stateful retry.
        Since:
        2.1.3
      • isBatchListener

        public java.lang.Boolean isBatchListener()
        Return true if this endpoint creates a batch listener.
        Returns:
        true for a batch listener.
        Since:
        1.1
      • setBatchListener

        public void setBatchListener​(java.lang.Boolean batchListener)
        Set to true if this endpoint should create a batch listener.
        Parameters:
        batchListener - true for a batch listener.
        Since:
        1.1
      • setApplicationEventPublisher

        public void setApplicationEventPublisher​(org.springframework.context.ApplicationEventPublisher applicationEventPublisher)
        Specified by:
        setApplicationEventPublisher in interface org.springframework.context.ApplicationEventPublisherAware
      • setReplyTemplate

        public void setReplyTemplate​(KafkaTemplate<?,​?> replyTemplate)
        Set the KafkaTemplate to use to send replies.
        Parameters:
        replyTemplate - the template.
        Since:
        2.0
      • setErrorHandler

        public void setErrorHandler​(ErrorHandler errorHandler)
        Set the error handler to call when the listener throws an exception.
        Parameters:
        errorHandler - the error handler.
        Since:
        2.2
      • setBatchErrorHandler

        public void setBatchErrorHandler​(BatchErrorHandler errorHandler)
        Set the batch error handler to call when the listener throws an exception.
        Parameters:
        errorHandler - the error handler.
        Since:
        2.2
      • setAfterRollbackProcessor

        public void setAfterRollbackProcessor​(AfterRollbackProcessor<? super K,​? super V> afterRollbackProcessor)
        Set a processor to invoke after a transaction rollback; typically will seek the unprocessed topic/partition to reprocess the records. The default does so, including the failed record.
        Parameters:
        afterRollbackProcessor - the processor.
        Since:
        1.3.5
      • setReplyHeadersConfigurer

        public void setReplyHeadersConfigurer​(ReplyHeadersConfigurer replyHeadersConfigurer)
        Set a configurer which will be invoked when creating a reply message.
        Parameters:
        replyHeadersConfigurer - the configurer.
        Since:
        2.2
      • setMissingTopicsFatal

        public void setMissingTopicsFatal​(boolean missingTopicsFatal)
        Set to false to allow the container to start even if any of the configured topics are not present on the broker. Does not apply when topic patterns are configured. Default true;
        Parameters:
        missingTopicsFatal - the missingTopicsFatal.
        Since:
        2.3
      • getContainerProperties

        public ContainerProperties getContainerProperties()
        Obtain the properties template for this factory - set properties as needed and they will be copied to a final properties instance for the endpoint.
        Returns:
        the properties.
      • setRecordInterceptor

        public void setRecordInterceptor​(RecordInterceptor<K,​V> recordInterceptor)
        Set an interceptor to be called before calling the listener. Does not apply to batch listeners.
        Parameters:
        recordInterceptor - the interceptor.
        Since:
        2.2.7
      • setBatchInterceptor

        public void setBatchInterceptor​(BatchInterceptor<K,​V> batchInterceptor)
        Set a batch interceptor to be called before and after calling the listener.
        Parameters:
        batchInterceptor - the interceptor.
        Since:
        2.6.8
      • setContainerCustomizer

        public void setContainerCustomizer​(ContainerCustomizer<K,​V,​C> containerCustomizer)
        Set a customizer used to further configure a container after it has been created.
        Parameters:
        containerCustomizer - the customizer.
        Since:
        2.3.4
      • afterPropertiesSet

        public void afterPropertiesSet()
        Specified by:
        afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      • createContainerInstance

        protected abstract C createContainerInstance​(KafkaListenerEndpoint endpoint)
        Create an empty container instance.
        Parameters:
        endpoint - the endpoint.
        Returns:
        the new container instance.
      • initializeContainer

        protected void initializeContainer​(C instance,
                                           KafkaListenerEndpoint endpoint)
        Further initialize the specified container.

        Subclasses can inherit from this method to apply extra configuration if necessary.

        Parameters:
        instance - the container instance to configure.
        endpoint - the endpoint.
      • createContainer

        public C createContainer​(java.util.regex.Pattern topicPattern)
        Description copied from interface: KafkaListenerContainerFactory
        Create and configure a container without a listener; used to create containers that are not used for KafkaListener annotations. Containers created using this method are not added to the listener endpoint registry.
        Specified by:
        createContainer in interface KafkaListenerContainerFactory<C extends AbstractMessageListenerContainer<K,​V>>
        Parameters:
        topicPattern - the topicPattern.
        Returns:
        the container.