标签:img str 目的 执行 read spring定时 strong 接口 概述
一、概述
1、jdk的线程池和任务调用器分别由ExecutorService、ScheduledExecutorService定义,继承关系如下:
/
ThreadPoolExecutor:ExecutorService的实现类,其构造函数提供了灵活的参数配置,可构造多种类型的线程池,详细可参考JAVA进阶----ThreadPoolExecutor机制
ScheduledThreadPoolExecutor:ScheduledExecutorService的实现类,用于任务调动
2、spring task对定时任务的两个抽象:
继承关系如下:
TaskScheduler需要传入一个Runnable的任务做为参数,并指定需要周期执行的时间或者触发器(Trigger
)。
spring定义了Trigger接口的实现类CronTrigger,支持使用cron表达式指定定时策略,使用如下:
scheduler.schedule(task, new CronTrigger("30 * * * * ?"));
3、cron表达式
spring支持6个参数的cron表达式,格式如下:
{秒} {分} {时} {日期} {月} {星期}
?
,表示与{星期}互斥,即意味着若明确指定{星期}触发,则表示{日期}无意义,以免引起冲突和混乱?
,表达的含义是与{日期}互斥,即意味着若明确指定{日期}触发,则表示{星期}无意义。示例:
0 0 12 * * ? 每天中午12点触发 0 * 14 * * ? 每天下午2点到下午2:59期间的每1分钟触发 0 0/5 14 * * ? 每天下午2点到下午2:55期间的每5分钟触发 0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发
关于cron表达式的详细介绍可参考spring定时任务详解
二、
标签:img str 目的 执行 read spring定时 strong 接口 概述
原文地址:https://www.cnblogs.com/MattCheng/p/9052140.html