Spring的@Scheduled实际上是如何工作的?

我始终认为,@Scheduled作品代理所述全豆,同样的方式@Async@Transactional等做。所以我很惊讶以下内容就像一个魅力:

    @Component
    public static class Bean {

        @Scheduled(fixedRate = 1000)
        private void scheduled() {
            System.out.println("Yo");
        }
    }

他们有没有改变什么,或者从一开始就是这样?谢谢。

回答

简而言之,使用最简单的配置,当 Spring 检测到@EnableScheduling注解时,它会创建一个ScheduledAnnotationBeanPostProcessor能够处理@Scheduled注解的新注解。@Scheduled使用反射找到注解后,它会读取它们的配置,然后注册它们以便被TaskScheduler. AScheduledTaskRegistrar用于帮助提交任务到ScheduledThreadPoolExecutor.

如您所见,没有创建代理。


以上是Spring的@Scheduled实际上是如何工作的?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>