Class AbstractListenerAnnotationBeanPostProcessor<A extends Annotation>

java.lang.Object
org.springframework.amqp.listener.AbstractListenerAnnotationBeanPostProcessor<A>
Type Parameters:
A - the listener annotation type.
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.beans.factory.SmartInitializingSingleton, org.springframework.context.EnvironmentAware, org.springframework.core.Ordered

public abstract class AbstractListenerAnnotationBeanPostProcessor<A extends Annotation> extends Object implements org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.core.Ordered, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.context.EnvironmentAware, org.springframework.beans.factory.SmartInitializingSingleton
The BeanPostProcessor base for listener annotation parsers.
Since:
4.1
  • Field Details

  • Constructor Details

    • AbstractListenerAnnotationBeanPostProcessor

      public AbstractListenerAnnotationBeanPostProcessor()
  • Method Details

    • getOrder

      public int getOrder()
      Specified by:
      getOrder in interface org.springframework.core.Ordered
    • setEnvironment

      public void setEnvironment(org.springframework.core.env.Environment environment)
      Specified by:
      setEnvironment in interface org.springframework.context.EnvironmentAware
    • setBeanFactory

      public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
      Specified by:
      setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAware
    • getBeanFactory

      protected org.springframework.beans.factory.BeanFactory getBeanFactory()
    • setBeanClassLoader

      public void setBeanClassLoader(ClassLoader classLoader)
      Specified by:
      setBeanClassLoader in interface org.springframework.beans.factory.BeanClassLoaderAware
    • getBeanClassLoader

      protected ClassLoader getBeanClassLoader()
    • afterSingletonsInstantiated

      public void afterSingletonsInstantiated()
      Specified by:
      afterSingletonsInstantiated in interface org.springframework.beans.factory.SmartInitializingSingleton
    • 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
    • buildMetadata

      protected abstract AbstractListenerAnnotationBeanPostProcessor.TypeMetadata<A> buildMetadata(Class<?> clazz)
    • doProcessAmqpListener

      protected abstract void doProcessAmqpListener(A listenerAnnotation, Method method, Object bean, String beanName)
    • processMultiMethodListeners

      protected abstract void processMultiMethodListeners(List<A> classLevelListeners, List<Method> multiMethods, Object bean, String beanName)
    • checkProxy

      protected static Method checkProxy(Method methodArg, Object bean)
    • noBeanFoundMessage

      protected static String noBeanFoundMessage(Object target, String listenerBeanName, String requestedBeanName, Class<?> expectedClass)
    • resolveExpressionAsBoolean

      protected boolean resolveExpressionAsBoolean(String value)
    • resolveExpressionAsBoolean

      protected boolean resolveExpressionAsBoolean(String value, boolean defaultValue)
    • resolveExpressionAsString

      protected @Nullable String resolveExpressionAsString(String value, String attribute)
    • resolveExpressionAsStringOrInteger

      protected @Nullable String resolveExpressionAsStringOrInteger(String value, String attribute)
    • resolveExpressionToInteger

      protected @Nullable Integer resolveExpressionToInteger(String value, String attribute)
    • resolveExpressionToBean

      protected <B> @Nullable B resolveExpressionToBean(String attributeValue, String attributeName, Object annotationTarget, String beanName, Class<B> beanType)
    • resolveExpression

      protected @Nullable Object resolveExpression(String value)
    • toDuration

      protected static Duration toDuration(String value)
    • toDuration

      protected static Duration toDuration(String value, TimeUnit timeUnit)
    • buildMetadata

      protected static <A extends Annotation> AbstractListenerAnnotationBeanPostProcessor.TypeMetadata<A> buildMetadata(Class<?> targetClass, Class<A> listenerAnnotation, @Nullable Class<? extends Annotation> handlerAnnotation)