Class MessagingAnnotationPostProcessor
java.lang.Object
org.springframework.integration.config.annotation.MessagingAnnotationPostProcessor
- All Implemented Interfaces:
Aware
,BeanFactoryAware
,BeanPostProcessor
,InitializingBean
,SmartInitializingSingleton
public class MessagingAnnotationPostProcessor extends Object implements BeanPostProcessor, BeanFactoryAware, InitializingBean, SmartInitializingSingleton
A
BeanPostProcessor
implementation that processes method-level
messaging annotations such as @Transformer, @Splitter, @Router, and @Filter.- Author:
- Mark Fisher, Marius Bogoevici, Artem Bilan, Gary Russell, Rick Hogge
-
Field Summary
-
Constructor Summary
Constructors Constructor Description MessagingAnnotationPostProcessor()
-
Method Summary
-
Field Details
-
Constructor Details
-
MessagingAnnotationPostProcessor
public MessagingAnnotationPostProcessor()
-
-
Method Details
-
setBeanFactory
- Specified by:
setBeanFactory
in interfaceBeanFactoryAware
-
getBeanFactory
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSet
in interfaceInitializingBean
-
setupCustomPostProcessors
protected Map<Class<? extends Annotation>,MethodAnnotationPostProcessor<?>> setupCustomPostProcessors() -
addMessagingAnnotationPostProcessor
public <A extends Annotation> void addMessagingAnnotationPostProcessor(Class<A> annotation, MethodAnnotationPostProcessor<A> postProcessor) -
afterSingletonsInstantiated
public void afterSingletonsInstantiated()- Specified by:
afterSingletonsInstantiated
in interfaceSmartInitializingSingleton
-
postProcessBeforeInitialization
- Specified by:
postProcessBeforeInitialization
in interfaceBeanPostProcessor
- Throws:
BeansException
-
postProcessAfterInitialization
- Specified by:
postProcessAfterInitialization
in interfaceBeanPostProcessor
- Throws:
BeansException
-
processAnnotationTypeOnMethod
protected void processAnnotationTypeOnMethod(Object bean, String beanName, Method method, Class<? extends Annotation> annotationType, List<Annotation> annotations) -
getAnnotationChain
protected List<Annotation> getAnnotationChain(Method method, Class<? extends Annotation> annotationType)- Parameters:
method
- the method.annotationType
- the annotation type.- Returns:
- the hierarchical list of annotations in top-bottom order.
-
recursiveFindAnnotation
protected boolean recursiveFindAnnotation(Class<? extends Annotation> annotationType, Annotation ann, List<Annotation> annotationChain, Set<Annotation> visited) -
generateBeanName
protected String generateBeanName(String originalBeanName, Method method, Class<? extends Annotation> annotationType) -
getPostProcessors
-