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()
      • setRecordMessageConverter

        public void setRecordMessageConverter​(RecordMessageConverter recordMessageConverter)
        Set the message converter to use if dynamic argument type matching is needed for record listeners.
        Parameters:
        recordMessageConverter - the converter.
        Since:
        2.9.6
      • setBatchMessageConverter

        public void setBatchMessageConverter​(BatchMessageConverter batchMessageConverter)
        Set the message converter to use if dynamic argument type matching is needed for batch listeners.
        Parameters:
        batchMessageConverter - the converter.
        Since:
        2.9.6
      • 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

        @Deprecated
        public void setRetryTemplate​(org.springframework.retry.support.RetryTemplate retryTemplate)
        Deprecated.
        since 2.8 - use a suitably configured error handler instead.
        Set a retryTemplate.
        Parameters:
        retryTemplate - the template.
      • setRecoveryCallback

        @Deprecated
        public void setRecoveryCallback​(org.springframework.retry.RecoveryCallback<? extends java.lang.Object> recoveryCallback)
        Deprecated.
        since 2.8 - use a suitably configured error handler instead.
        Set a callback to be used with the retryTemplate.
        Parameters:
        recoveryCallback - the callback.
      • setStatefulRetry

        @Deprecated
        public void setStatefulRetry​(boolean statefulRetry)
        Deprecated.
        since 2.8 - use a suitably configured error handler instead.
        When using a RetryTemplate Set to true to enable stateful retry. Use in conjunction with a legacy org.springframework.kafka.listener.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
      • setCommonErrorHandler

        public void setCommonErrorHandler​(CommonErrorHandler commonErrorHandler)
        Set the CommonErrorHandler which can handle errors for both record and batch listeners. Replaces the use of GenericErrorHandlers.
        Parameters:
        commonErrorHandler - the handler.
        Since:
        2.8
      • 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. Only used with record listeners.
        Parameters:
        recordInterceptor - the interceptor.
        Since:
        2.2.7
        See Also:
        setBatchInterceptor(BatchInterceptor)
      • setBatchInterceptor

        public void setBatchInterceptor​(BatchInterceptor<K,​V> batchInterceptor)
        Set a batch interceptor to be called before and after calling the listener. Only used with batch listeners.
        Parameters:
        batchInterceptor - the interceptor.
        Since:
        2.7
        See Also:
        setRecordInterceptor(RecordInterceptor)
      • 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.