很多时候,都需要使用定时调度,比如每隔一段时间运行一个爬虫爬取新的数据,实现方法有Quartz,spring task和Timer
spring task可以将它比作一个轻量级的Quartz,而且使用起来很简单,除spring相关的包外不需要额外的包
推荐使用注解式实现
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @Component public class WebTask { // 每五秒执行一次 @Scheduled(cron = "0/5 * * * * ?") public void TaskJob() { System.out.println("test"); } }
在相关的配置下加个这句配置,不用其他参数
<task:annotation-driven />
cron的具体解析如下
字段 允许值 允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选) 留空, 1970-2099 , - * /
Quartz