在Java中使用@Scheduled定时器的几种种操作方式。 1、fixedRate 例:@Scheduled(fixedRate = 5000) //上一次开始执行时间点之后5秒再执行 2、fixedDelay 例:@Scheduled(fixedDelay = 5000) //上一次执行完毕时间点之后5秒再执行 3、cron 例:@Scheduled(cron = "0 0/1 9-21 * * ?")//每天早上9点-晚上21点间执行,每次执行间隔一分钟 着重讲一下cron: Scheduled(cron="0 0 21 * * ?") 配置完整格式为: [秒] [分] [小时] [日] [月] [周] [年] 其中每个元素 可以是一个值(如6), 一个连续区间(9-12), 一个间隔时间(8-18/4)(/表示每隔4小时), 一个列表(1,3,5), 通配符。
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Component;
/***
* 定时器测试
* @EnableScheduling 类要带上这个注解,不然定时器不会启动
* @Scheduled 方法要带上这个注解
*/
@Component
@EnableScheduling
public class ScheduleTest {
//每10秒执行
@Scheduled(cron = "0/10 * * * * ?")
public void cron() {
System.out.println("Scheduled task is running ... ...");
}
}