之前写过一篇关于Quartz调度的文章。 这里简单记录下spring框架中的任务调度。
- 添加配置类,配置开启schedule.
@Configuration
@ComponentScan({"com.xx.mvc.service.schedule"})
@EnableScheduling
public class TaskScheduleConfig {
}
- 添加具体的任务配置
@Service
@Slf4j
public class OverdueRemindService {
@Scheduled(cron = "0 30 8 ? * *")
public void calculateOverdueTask() {
System.out.println("计算将要超期的任务,当前时间:" + DateUtils.now());
}
private static final Logger log = Logger.getLogger(ScheduleDemo.class);
@Scheduled(fixedDelay=5000)
public void fixedDelay() {
try {
Thread.sleep(1000 * 10);
} catch (InterruptedException e) {
}
log.info("fixedDelay--");
}
@Scheduled(fixedRate=5000)
public void fixedRate() {
try {
Thread.sleep(1000 * 10);
} catch (InterruptedException e) {
}
log.info("fixedRate--");
}
@Scheduled(initialDelay=1000, fixedRate=5000)
public void initialDelayAndfixedRate() {
log.info("initialDelayAndfixedRate--");
}
@Scheduled(cron="*/5 * * * * SUN-MON")
public void cron() {
log.info("cron--");
}
}