Class KafkaListenerEndpointRegistrar

java.lang.Object
org.springframework.kafka.config.KafkaListenerEndpointRegistrar
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean

public class KafkaListenerEndpointRegistrar extends Object implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean
Helper bean for registering KafkaListenerEndpoint with a KafkaListenerEndpointRegistry.
See Also:
  • Constructor Details

    • KafkaListenerEndpointRegistrar

      public KafkaListenerEndpointRegistrar()
  • Method Details

    • setEndpointRegistry

      public void setEndpointRegistry(KafkaListenerEndpointRegistry endpointRegistry)
      Set the KafkaListenerEndpointRegistry instance to use.
      Parameters:
      endpointRegistry - the KafkaListenerEndpointRegistry instance to use.
    • getEndpointRegistry

      public @Nullable KafkaListenerEndpointRegistry getEndpointRegistry()
      Return the KafkaListenerEndpointRegistry instance for this registrar, may be null.
      Returns:
      the KafkaListenerEndpointRegistry instance for this registrar, may be null.
    • getCustomMethodArgumentResolvers

      public List<org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver> getCustomMethodArgumentResolvers()
      Return the list of HandlerMethodArgumentResolver.
      Returns:
      the list of HandlerMethodArgumentResolver.
      Since:
      2.4.2
    • setCustomMethodArgumentResolvers

      public void setCustomMethodArgumentResolvers(org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver... methodArgumentResolvers)
      Add custom methods arguments resolvers to KafkaListenerAnnotationBeanPostProcessor Default empty list.
      Parameters:
      methodArgumentResolvers - the methodArgumentResolvers to assign.
      Since:
      2.4.2
    • setMessageHandlerMethodFactory

      public void setMessageHandlerMethodFactory(org.springframework.messaging.handler.annotation.support.MessageHandlerMethodFactory kafkaHandlerMethodFactory)
      Set the MessageHandlerMethodFactory to use to configure the message listener responsible to serve an endpoint detected by this processor.

      By default, DefaultMessageHandlerMethodFactory is used and it can be configured further to support additional method arguments or to customize conversion and validation support. See DefaultMessageHandlerMethodFactory javadoc for more details.

      Parameters:
      kafkaHandlerMethodFactory - the MessageHandlerMethodFactory instance.
    • getMessageHandlerMethodFactory

      public @Nullable org.springframework.messaging.handler.annotation.support.MessageHandlerMethodFactory getMessageHandlerMethodFactory()
      Return the custom MessageHandlerMethodFactory to use, if any.
      Returns:
      the custom MessageHandlerMethodFactory to use, if any.
    • setContainerFactory

      public void setContainerFactory(KafkaListenerContainerFactory<?> containerFactory)
      Set the KafkaListenerContainerFactory to use in case a KafkaListenerEndpoint is registered with a null container factory.

      Alternatively, the bean name of the KafkaListenerContainerFactory to use can be specified for a lazy lookup, see setContainerFactoryBeanName(String).

      Parameters:
      containerFactory - the KafkaListenerContainerFactory instance.
    • setContainerFactoryBeanName

      public void setContainerFactoryBeanName(String containerFactoryBeanName)
      Set the bean name of the KafkaListenerContainerFactory to use in case a KafkaListenerEndpoint is registered with a null container factory. Alternatively, the container factory instance can be registered directly: see setContainerFactory(KafkaListenerContainerFactory).
      Parameters:
      containerFactoryBeanName - the KafkaListenerContainerFactory bean name.
      See Also:
    • setBeanFactory

      public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
      A BeanFactory only needs to be available in conjunction with setContainerFactoryBeanName(String).
      Specified by:
      setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAware
      Parameters:
      beanFactory - the BeanFactory instance.
    • getValidator

      public @Nullable org.springframework.validation.Validator getValidator()
      Get the validator, if supplied.
      Returns:
      the validator.
      Since:
      2.2
    • setValidator

      public void setValidator(org.springframework.validation.Validator validator)
      Set the validator to use if the default message handler factory is used.
      Parameters:
      validator - the validator.
      Since:
      2.2
    • afterPropertiesSet

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

      protected void registerAllEndpoints()
    • registerEndpoint

      public void registerEndpoint(KafkaListenerEndpoint endpoint, @Nullable KafkaListenerContainerFactory<?> factory)
      Register a new KafkaListenerEndpoint alongside the KafkaListenerContainerFactory to use to create the underlying container.

      The factory may be null if the default factory has to be used for that endpoint.

      Parameters:
      endpoint - the KafkaListenerEndpoint instance to register.
      factory - the KafkaListenerContainerFactory to use.
    • registerEndpoint

      public void registerEndpoint(KafkaListenerEndpoint endpoint)
      Register a new KafkaListenerEndpoint using the default KafkaListenerContainerFactory to create the underlying container.
      Parameters:
      endpoint - the KafkaListenerEndpoint instance to register.
      See Also: