Class PulsarListenerAnnotationBeanPostProcessor<V>
java.lang.Object
org.springframework.pulsar.annotation.AbstractPulsarAnnotationsBeanPostProcessor
org.springframework.pulsar.annotation.PulsarListenerAnnotationBeanPostProcessor<V>
- Type Parameters:
V
- the payload type.
- All Implemented Interfaces:
Aware
,BeanPostProcessor
,InitializingBean
,SmartInitializingSingleton
,ApplicationContextAware
,Ordered
public class PulsarListenerAnnotationBeanPostProcessor<V>
extends AbstractPulsarAnnotationsBeanPostProcessor
implements SmartInitializingSingleton
Bean post-processor that registers methods annotated with
PulsarListener
to be
invoked by a Pulsar message listener container created under the covers by a
PulsarListenerContainerFactory
according to the parameters of the annotation.
Annotated methods can use flexible arguments as defined by PulsarListener
.
This post-processor is automatically registered by the EnablePulsar
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 EnablePulsar
Javadoc for
complete usage details.
- Author:
- Soby Chacko, Chris Bono, Alexander Preuß, Jihoon Kim
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.pulsar.annotation.AbstractPulsarAnnotationsBeanPostProcessor
AbstractPulsarAnnotationsBeanPostProcessor.ListenerScope, AbstractPulsarAnnotationsBeanPostProcessor.PulsarHandlerMethodFactoryAdapter
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The bean name of the defaultPulsarListenerContainerFactory
.Fields inherited from class org.springframework.pulsar.annotation.AbstractPulsarAnnotationsBeanPostProcessor
applicationContext, beanFactory, expressionContext, logger, messageHandlerMethodFactory, resolver
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
postProcessAfterInitialization
(Object bean, String beanName) protected void
protected void
processListener
(MethodPulsarListenerEndpoint<?> endpoint, PulsarListener PulsarListener, Object bean, String beanName, String[] topics, String topicPattern) protected void
processPulsarListener
(PulsarListener pulsarListener, Method method, Object bean, String beanName) Methods inherited from class org.springframework.pulsar.annotation.AbstractPulsarAnnotationsBeanPostProcessor
afterPropertiesSet, assertBeanFactory, checkProxy, getOrder, loadProperty, noBeanFoundMessage, postProcessBeforeInitialization, resolve, resolveAsString, resolveExpression, resolveExpressionAsBoolean, resolveExpressionAsInteger, resolveExpressionAsString, setApplicationContext, setBeanFactory
-
Field Details
-
DEFAULT_PULSAR_LISTENER_CONTAINER_FACTORY_BEAN_NAME
The bean name of the defaultPulsarListenerContainerFactory
.- See Also:
-
-
Constructor Details
-
PulsarListenerAnnotationBeanPostProcessor
public PulsarListenerAnnotationBeanPostProcessor()
-
-
Method Details
-
afterSingletonsInstantiated
public void afterSingletonsInstantiated()- Specified by:
afterSingletonsInstantiated
in interfaceSmartInitializingSingleton
-
postProcessAfterInitialization
- Specified by:
postProcessAfterInitialization
in interfaceBeanPostProcessor
- Throws:
BeansException
-
processPulsarListener
protected void processPulsarListener(PulsarListener pulsarListener, Method method, Object bean, String beanName) -
processListener
protected void processListener(MethodPulsarListenerEndpoint<?> endpoint, PulsarListener PulsarListener, Object bean, String beanName, String[] topics, String topicPattern) -
postProcessEndpointsBeforeRegistration
protected void postProcessEndpointsBeforeRegistration()
-