Spring 定时任务框架详解(2)——核心类介绍

Spring 定时任务框架详解(2)——核心类介绍

本篇主要介绍Spring定时任务框架涉及到的核心类及其功能

  • TaskScheduler:Spring任务调度器的核心接口,定义了执行定时任务的主要方法,主要根据任务的不同触发方式调用不同的执行逻辑,其实现类都是对JDK原生的定时器或线程池组件进行包装,并扩展额外的功能。主要实现类如下:
    • TimerManagerTaskScheduler:基于Timer定时器组件的实现;
    • ThreadPoolTaskScheduler:基于JDK原生的线程池,包装了ScheduledExecutorService实例,并扩展了一些额外的触发能力;
    • ThreadPoolTaskScheduler:TaskScheduler接口的默认实现类,以多线程方式执行定时任务。可以设置执行线程池数(默认一个线程);
    • ConcurrentTaskScheduler:以单个线程方式执行定时任务,适用于简单场景;
    • DefaultManagedTaskScheduler:在ConcurrentTaskScheduler基础上增加了JNDI的支持。
  • ScheduledTask:定时任务类,内部包装了一个Runnable

  • ScheduledTaskHolder:维护本地的ScheduledTask实例

    • ScheduledTaskRegistrar:ScheduledTask注册中心,ScheduledTaskHolder接口的一个重要的实现类,维护了程序中所有配置的ScheduledTask
  • ScheduledAnnotationBeanPostProcessor:Scheduled注解后处理器,项目启动时会扫描所有标记了@Scheduled注解的方法,封装成ScheduledTask注册起来

猜你喜欢

转载自blog.csdn.net/weixin_34452850/article/details/81103662
今日推荐