1.编写定时任务配置类 ScheduledTasks
@Component
public class ScheduledTasks {
private static final SimpleDateFormat dateFormate = new SimpleDateFormat("HH:mm:ss");
/**
* 每隔10秒钟执行一次
*/
// @Scheduled(fixedDelay = 10000)
public void send() {
for (int i = 0; i < 3; i++) {
System.out.println("say hello" + i);
}
}
/**
* 如果需要以固定速率执行,只要将注解中指定的属性名称改成fixedRate即可,
* 以下方法将以一个固定速率5s来调用一次执行,这个周期是以上一个任务开始时间为基准,
* 从上一任务开始执行后5s再次调用:
*/
// @Scheduled(fixedRate = 5000)
public void doSomething() {
System.out.println("固定速率测试");
}
/**
* 对于固定延迟和固定速率的任务,可以指定一个初始延迟表示该方法在第一被调用执行之前等待的毫秒数:
*/
// @Scheduled(initialDelay = 1000, fixedRate = 5000)
public void doSomethings() {
System.out.println("第一被调用执行之前等待的毫秒数");
}
/**
* http://cron.qqe2.com/ 在线Cron表达式生成器
* 如果简单的定期调度不能满足,那么cron表达式提供了可能。例如,下面的方法将只会在工作日执行:
*/
// @Scheduled(cron = "0 0 0 1/1 1-12 ? *")
public void doSomethingss() {
System.out.println("我执行了");
}
}
2.启动类
@EnableScheduling