public class

ScheduledAnnotationBeanPostProcessor

extends Object
implements DisposableBean BeanPostProcessor ApplicationContextAware ApplicationListener<E extends ApplicationEvent> EmbeddedValueResolverAware Ordered
java.lang.Object
   ↳ org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor

Class Overview

Bean post-processor that registers methods annotated with @Scheduled to be invoked by a TaskScheduler according to the "fixedRate", "fixedDelay", or "cron" expression provided via the annotation.

Summary

[Expand]
Inherited Constants
From interface org.springframework.core.Ordered
Public Constructors
ScheduledAnnotationBeanPostProcessor()
Public Methods
void destroy()
Invoked by a BeanFactory on destruction of a singleton.
int getOrder()
Return the order value of this object, with a higher value meaning greater in terms of sorting.
void onApplicationEvent(ContextRefreshedEvent event)
Object postProcessAfterInitialization(Object bean, String beanName)
Apply this BeanPostProcessor to the given new bean instance after any bean initialization callbacks (like InitializingBean's afterPropertiesSet or a custom init-method).
Object postProcessBeforeInitialization(Object bean, String beanName)
Apply this BeanPostProcessor to the given new bean instance before any bean initialization callbacks (like InitializingBean's afterPropertiesSet or a custom init-method).
void setApplicationContext(ApplicationContext applicationContext)
Set the ApplicationContext that this object runs in.
void setEmbeddedValueResolver(StringValueResolver resolver)
Set the StringValueResolver to use for resolving embedded definition values.
void setScheduler(Object scheduler)
Set the TaskScheduler that will invoke the scheduled methods, or a java.util.concurrent.ScheduledExecutorService to be wrapped as a TaskScheduler.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.beans.factory.DisposableBean
From interface org.springframework.beans.factory.config.BeanPostProcessor
From interface org.springframework.context.ApplicationContextAware
From interface org.springframework.context.ApplicationListener
From interface org.springframework.context.EmbeddedValueResolverAware
From interface org.springframework.core.Ordered

Public Constructors

public ScheduledAnnotationBeanPostProcessor ()

Public Methods

public void destroy ()

Invoked by a BeanFactory on destruction of a singleton.

Throws
Exception

public int getOrder ()

Return the order value of this object, with a higher value meaning greater in terms of sorting.

Normally starting with 0, with Integer.MAX_VALUE indicating the greatest value. Same order values will result in arbitrary positions for the affected objects.

Higher values can be interpreted as lower priority. As a consequence, the object with the lowest value has highest priority (somewhat analogous to Servlet "load-on-startup" values).

Returns
  • the order value

public void onApplicationEvent (ContextRefreshedEvent event)

public Object postProcessAfterInitialization (Object bean, String beanName)

Apply this BeanPostProcessor to the given new bean instance after any bean initialization callbacks (like InitializingBean's afterPropertiesSet or a custom init-method). The bean will already be populated with property values. The returned bean instance may be a wrapper around the original.

In case of a FactoryBean, this callback will be invoked for both the FactoryBean instance and the objects created by the FactoryBean (as of Spring 2.0). The post-processor can decide whether to apply to either the FactoryBean or created objects or both through corresponding bean instanceof FactoryBean checks.

This callback will also be invoked after a short-circuiting triggered by a postProcessBeforeInstantiation(Class, String) method, in contrast to all other BeanPostProcessor callbacks.

Parameters
bean the new bean instance
beanName the name of the bean
Returns
  • the bean instance to use, either the original or a wrapped one; if null, no subsequent BeanPostProcessors will be invoked

public Object postProcessBeforeInitialization (Object bean, String beanName)

Apply this BeanPostProcessor to the given new bean instance before any bean initialization callbacks (like InitializingBean's afterPropertiesSet or a custom init-method). The bean will already be populated with property values. The returned bean instance may be a wrapper around the original.

Parameters
bean the new bean instance
beanName the name of the bean
Returns
  • the bean instance to use, either the original or a wrapped one; if null, no subsequent BeanPostProcessors will be invoked

public void setApplicationContext (ApplicationContext applicationContext)

Set the ApplicationContext that this object runs in. Normally this call will be used to initialize the object.

Invoked after population of normal bean properties but before an init callback such as afterPropertiesSet() or a custom init-method. Invoked after setResourceLoader(ResourceLoader), setApplicationEventPublisher(ApplicationEventPublisher) and MessageSourceAware, if applicable.

Parameters
applicationContext the ApplicationContext object to be used by this object

public void setEmbeddedValueResolver (StringValueResolver resolver)

Set the StringValueResolver to use for resolving embedded definition values.

public void setScheduler (Object scheduler)

Set the TaskScheduler that will invoke the scheduled methods, or a java.util.concurrent.ScheduledExecutorService to be wrapped as a TaskScheduler.