Package org.springframework.kafka.config
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 java.lang.Object implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBeanHelper bean for registeringKafkaListenerEndpointwith aKafkaListenerEndpointRegistry.- See Also:
KafkaListenerConfigurer
-
-
Constructor Summary
Constructors Constructor Description KafkaListenerEndpointRegistrar()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterPropertiesSet()java.util.List<org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver>getCustomMethodArgumentResolvers()Return the list ofHandlerMethodArgumentResolver.KafkaListenerEndpointRegistrygetEndpointRegistry()Return theKafkaListenerEndpointRegistryinstance for this registrar, may benull.org.springframework.messaging.handler.annotation.support.MessageHandlerMethodFactorygetMessageHandlerMethodFactory()Return the customMessageHandlerMethodFactoryto use, if any.org.springframework.validation.ValidatorgetValidator()Get the validator, if supplied.protected voidregisterAllEndpoints()voidregisterEndpoint(KafkaListenerEndpoint endpoint)Register a newKafkaListenerEndpointusing the defaultKafkaListenerContainerFactoryto create the underlying container.voidregisterEndpoint(KafkaListenerEndpoint endpoint, KafkaListenerContainerFactory<?> factory)Register a newKafkaListenerEndpointalongside theKafkaListenerContainerFactoryto use to create the underlying container.voidsetBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)ABeanFactoryonly needs to be available in conjunction withsetContainerFactoryBeanName(java.lang.String).voidsetContainerFactory(KafkaListenerContainerFactory<?> containerFactory)Set theKafkaListenerContainerFactoryto use in case aKafkaListenerEndpointis registered with anullcontainer factory.voidsetContainerFactoryBeanName(java.lang.String containerFactoryBeanName)Set the bean name of theKafkaListenerContainerFactoryto use in case aKafkaListenerEndpointis registered with anullcontainer factory.voidsetCustomMethodArgumentResolvers(org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver... methodArgumentResolvers)Add custom methods arguments resolvers toKafkaListenerAnnotationBeanPostProcessorDefault empty list.voidsetEndpointRegistry(KafkaListenerEndpointRegistry endpointRegistry)Set theKafkaListenerEndpointRegistryinstance to use.voidsetMessageHandlerMethodFactory(org.springframework.messaging.handler.annotation.support.MessageHandlerMethodFactory kafkaHandlerMethodFactory)Set theMessageHandlerMethodFactoryto use to configure the message listener responsible to serve an endpoint detected by this processor.voidsetValidator(org.springframework.validation.Validator validator)Set the validator to use if the default message handler factory is used.
-
-
-
Method Detail
-
setEndpointRegistry
public void setEndpointRegistry(KafkaListenerEndpointRegistry endpointRegistry)
Set theKafkaListenerEndpointRegistryinstance to use.- Parameters:
endpointRegistry- theKafkaListenerEndpointRegistryinstance to use.
-
getEndpointRegistry
@Nullable public KafkaListenerEndpointRegistry getEndpointRegistry()
Return theKafkaListenerEndpointRegistryinstance for this registrar, may benull.- Returns:
- the
KafkaListenerEndpointRegistryinstance for this registrar, may benull.
-
getCustomMethodArgumentResolvers
public java.util.List<org.springframework.messaging.handler.invocation.HandlerMethodArgumentResolver> getCustomMethodArgumentResolvers()
Return the list ofHandlerMethodArgumentResolver.- 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 toKafkaListenerAnnotationBeanPostProcessorDefault 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 theMessageHandlerMethodFactoryto use to configure the message listener responsible to serve an endpoint detected by this processor.By default,
DefaultMessageHandlerMethodFactoryis used and it can be configured further to support additional method arguments or to customize conversion and validation support. SeeDefaultMessageHandlerMethodFactoryjavadoc for more details.- Parameters:
kafkaHandlerMethodFactory- theMessageHandlerMethodFactoryinstance.
-
getMessageHandlerMethodFactory
@Nullable public org.springframework.messaging.handler.annotation.support.MessageHandlerMethodFactory getMessageHandlerMethodFactory()
Return the customMessageHandlerMethodFactoryto use, if any.- Returns:
- the custom
MessageHandlerMethodFactoryto use, if any.
-
setContainerFactory
public void setContainerFactory(KafkaListenerContainerFactory<?> containerFactory)
Set theKafkaListenerContainerFactoryto use in case aKafkaListenerEndpointis registered with anullcontainer factory.Alternatively, the bean name of the
KafkaListenerContainerFactoryto use can be specified for a lazy lookup, seesetContainerFactoryBeanName(java.lang.String).- Parameters:
containerFactory- theKafkaListenerContainerFactoryinstance.
-
setContainerFactoryBeanName
public void setContainerFactoryBeanName(java.lang.String containerFactoryBeanName)
Set the bean name of theKafkaListenerContainerFactoryto use in case aKafkaListenerEndpointis registered with anullcontainer factory. Alternatively, the container factory instance can be registered directly: seesetContainerFactory(KafkaListenerContainerFactory).- Parameters:
containerFactoryBeanName- theKafkaListenerContainerFactorybean name.- See Also:
setBeanFactory(org.springframework.beans.factory.BeanFactory)
-
setBeanFactory
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
ABeanFactoryonly needs to be available in conjunction withsetContainerFactoryBeanName(java.lang.String).- Specified by:
setBeanFactoryin interfaceorg.springframework.beans.factory.BeanFactoryAware- Parameters:
beanFactory- theBeanFactoryinstance.
-
getValidator
@Nullable public 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:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
registerAllEndpoints
protected void registerAllEndpoints()
-
registerEndpoint
public void registerEndpoint(KafkaListenerEndpoint endpoint, @Nullable KafkaListenerContainerFactory<?> factory)
Register a newKafkaListenerEndpointalongside theKafkaListenerContainerFactoryto use to create the underlying container.The
factorymay benullif the default factory has to be used for that endpoint.- Parameters:
endpoint- theKafkaListenerEndpointinstance to register.factory- theKafkaListenerContainerFactoryto use.
-
registerEndpoint
public void registerEndpoint(KafkaListenerEndpoint endpoint)
Register a newKafkaListenerEndpointusing the defaultKafkaListenerContainerFactoryto create the underlying container.- Parameters:
endpoint- theKafkaListenerEndpointinstance to register.- See Also:
setContainerFactory(KafkaListenerContainerFactory),registerEndpoint(KafkaListenerEndpoint, KafkaListenerContainerFactory)
-
-