Spring定时任务(一):SpringTask使用
背景:在日常开发中,经常会用到任务调度这类程序。实现方法常用的有:A. 通过java.util.Timer、TimerTask实现。 B.通过Spring自带的SpringTask。 C. 通过Spring结合Quartz实现。本文我们将讲述SpringTask的使用入门方法。
一、配置
A. 引入SpringTask命名空间
B. 开启Spring注解扫描, 将Bean的创建交由Spring进行管理。用于创建Scheduler声明
<context:component-scan base-package="com.unben.scheduler" />
C. 开启SpringTask注解驱动。作用:识别Task相关注解,如“@Scheduled”
<task:annotation-driven/>
D. 创建TreadPoolTaskScheduler实例,并指定该线程池初始大小。
<task:scheduler id="taskScheduler" pool-size="5" />
E. SpringTask的触发器实现方案有两种, 一种是基于Cron表达式的CronTrigger触发器, 另一种是基于接受固定周期的PeriodicTrigger触发器。在接下来的步骤二、三中我们将分别讲述两种触发器的使用方法
二、 接受固定周期的PeriodicTrigger触发器
案例1:
案例2:
配置详解:
ref=任务调度工作类
method=工作类中具体执行的哪个方法
initial-delay=初次调度执行前,延时时长。单位:毫秒
fixed-delay=上一次调度完成后,延时多少时间,进行下一次调用。单位:毫秒
fixed-rate=上一次调用开始后,延时多少时间,进行下一次调用。不等待上一次调度完成,单位:毫秒。
三、基于Cron表达式的CronTrigger触发器
案例3:
案例4:
配置说明:
Cron语法格式:Seconds Minutes Hours DayofMonth Month DayofWeek。
如上案例表示:每隔多少秒钟执行一次。关于的Cron表达式,将在下一篇博客中详细说明。