public class MessagingAnnotationPostProcessor
extends java.lang.Object
implements org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.SmartInitializingSingleton
BeanPostProcessor
implementation that processes method-level
messaging annotations such as @Transformer, @Splitter, @Router, and @Filter.Modifier and Type | Field and Description |
---|---|
protected org.apache.commons.logging.Log |
logger |
Constructor and Description |
---|
MessagingAnnotationPostProcessor() |
Modifier and Type | Method and Description |
---|---|
<A extends java.lang.annotation.Annotation> |
addMessagingAnnotationPostProcessor(java.lang.Class<A> annotation,
MethodAnnotationPostProcessor<A> postProcessor) |
void |
afterPropertiesSet() |
void |
afterSingletonsInstantiated() |
protected java.lang.String |
generateBeanName(java.lang.String originalBeanName,
java.lang.reflect.Method method,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationType) |
protected java.util.List<java.lang.annotation.Annotation> |
getAnnotationChain(java.lang.reflect.Method method,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationType) |
protected org.springframework.beans.factory.config.ConfigurableListableBeanFactory |
getBeanFactory() |
protected org.springframework.util.MultiValueMap<java.lang.String,java.lang.String> |
getLazyLifecycleRoles() |
protected java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,MethodAnnotationPostProcessor<?>> |
getPostProcessors() |
java.lang.Object |
postProcessAfterInitialization(java.lang.Object bean,
java.lang.String beanName) |
java.lang.Object |
postProcessBeforeInitialization(java.lang.Object bean,
java.lang.String beanName) |
protected void |
processAnnotationTypeOnMethod(java.lang.Object bean,
java.lang.String beanName,
java.lang.reflect.Method method,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationType,
java.util.List<java.lang.annotation.Annotation> annotations) |
protected boolean |
recursiveFindAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType,
java.lang.annotation.Annotation ann,
java.util.List<java.lang.annotation.Annotation> annotationChain,
java.util.Set<java.lang.annotation.Annotation> visited) |
void |
setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) |
protected java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,MethodAnnotationPostProcessor<?>> |
setupCustomPostProcessors() |
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
setBeanFactory
in interface org.springframework.beans.factory.BeanFactoryAware
protected org.springframework.beans.factory.config.ConfigurableListableBeanFactory getBeanFactory()
public void afterPropertiesSet()
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
protected java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,MethodAnnotationPostProcessor<?>> setupCustomPostProcessors()
public <A extends java.lang.annotation.Annotation> void addMessagingAnnotationPostProcessor(java.lang.Class<A> annotation, MethodAnnotationPostProcessor<A> postProcessor)
public java.lang.Object postProcessBeforeInitialization(java.lang.Object bean, java.lang.String beanName) throws org.springframework.beans.BeansException
postProcessBeforeInitialization
in interface org.springframework.beans.factory.config.BeanPostProcessor
org.springframework.beans.BeansException
public void afterSingletonsInstantiated()
afterSingletonsInstantiated
in interface org.springframework.beans.factory.SmartInitializingSingleton
public java.lang.Object postProcessAfterInitialization(java.lang.Object bean, java.lang.String beanName) throws org.springframework.beans.BeansException
postProcessAfterInitialization
in interface org.springframework.beans.factory.config.BeanPostProcessor
org.springframework.beans.BeansException
protected void processAnnotationTypeOnMethod(java.lang.Object bean, java.lang.String beanName, java.lang.reflect.Method method, java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, java.util.List<java.lang.annotation.Annotation> annotations)
protected java.util.List<java.lang.annotation.Annotation> getAnnotationChain(java.lang.reflect.Method method, java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
method
- the method.annotationType
- the annotation type.protected boolean recursiveFindAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType, java.lang.annotation.Annotation ann, java.util.List<java.lang.annotation.Annotation> annotationChain, java.util.Set<java.lang.annotation.Annotation> visited)
protected java.lang.String generateBeanName(java.lang.String originalBeanName, java.lang.reflect.Method method, java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
protected java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,MethodAnnotationPostProcessor<?>> getPostProcessors()
protected org.springframework.util.MultiValueMap<java.lang.String,java.lang.String> getLazyLifecycleRoles()