Class ReactivePulsarListenerAnnotationBeanPostProcessor<V>

java.lang.Object
org.springframework.pulsar.annotation.AbstractPulsarAnnotationsBeanPostProcessor
org.springframework.pulsar.reactive.config.annotation.ReactivePulsarListenerAnnotationBeanPostProcessor<V>
Type Parameters:
V - the payload type.
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.SmartInitializingSingleton, org.springframework.context.ApplicationContextAware, org.springframework.core.Ordered

public class ReactivePulsarListenerAnnotationBeanPostProcessor<V> extends org.springframework.pulsar.annotation.AbstractPulsarAnnotationsBeanPostProcessor implements org.springframework.beans.factory.SmartInitializingSingleton
Bean post-processor that registers methods annotated with ReactivePulsarListener to be invoked by a Pulsar message listener container created under the covers by a ReactivePulsarListenerContainerFactory according to the parameters of the annotation.

Annotated methods can use flexible arguments as defined by ReactivePulsarListener.

This post-processor is automatically registered by the EnableReactivePulsar annotation.

Auto-detect any PulsarListenerConfigurer instances in the container, allowing for customization of the registry to be used, the default container factory or for fine-grained control over endpoints registration. See EnableReactivePulsar Javadoc for complete usage details.

See Also:
  • Field Details

  • Constructor Details

    • ReactivePulsarListenerAnnotationBeanPostProcessor

      public ReactivePulsarListenerAnnotationBeanPostProcessor()
  • Method Details

    • afterSingletonsInstantiated

      public void afterSingletonsInstantiated()
      Specified by:
      afterSingletonsInstantiated in interface org.springframework.beans.factory.SmartInitializingSingleton
    • postProcessBeforeInitialization

      public Object postProcessBeforeInitialization(Object bean, String beanName) throws org.springframework.beans.BeansException
      Specified by:
      postProcessBeforeInitialization in interface org.springframework.beans.factory.config.BeanPostProcessor
      Overrides:
      postProcessBeforeInitialization in class org.springframework.pulsar.annotation.AbstractPulsarAnnotationsBeanPostProcessor
      Throws:
      org.springframework.beans.BeansException
    • postProcessAfterInitialization

      public Object postProcessAfterInitialization(Object bean, String beanName) throws org.springframework.beans.BeansException
      Specified by:
      postProcessAfterInitialization in interface org.springframework.beans.factory.config.BeanPostProcessor
      Throws:
      org.springframework.beans.BeansException
    • processReactivePulsarListener

      protected void processReactivePulsarListener(ReactivePulsarListener reactivePulsarListener, Method method, Object bean, String beanName)
    • processListener

      protected void processListener(MethodReactivePulsarListenerEndpoint<?> endpoint, ReactivePulsarListener ReactivePulsarListener, Object bean, String beanName, String[] topics, String topicPattern)
    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
      Specified by:
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
      Overrides:
      setApplicationContext in class org.springframework.pulsar.annotation.AbstractPulsarAnnotationsBeanPostProcessor
      Throws:
      org.springframework.beans.BeansException