定时任务简单解析
这里使用的是spring自带的定时任务框架内,只需要一个注解就可以使用定时任务。
SpringBoot自带的Scheduled,是一个轻量级的Quartz
代码演示
项目的启动类需要加注解@EnableScheduling
/**
* @Author: Mqs
* @Date: 2018/9/19 14:26
* @Description: springBoot 项目的启动类
*/
@SpringBootApplication
@EnableScheduling
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
package com.test.demo.web.quartz;
import ch.qos.logback.classic.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* @Author: Mqs
* @Date: 2018/9/27 14:18
* @Description:
*/
@Component
public class UserTask {
/**
* 日志文件
*/
private Logger logger = (Logger) LoggerFactory.getLogger(UserTask.class);
@Scheduled(cron = "0/30 * * * * ?")
public void taskOne(){
logger.info("每分钟到30秒的时候执行一次" + new Date());
}
@Scheduled(initialDelay = 10 * 1000, fixedDelay = 20 * 1000)
public void taskTwo(){
logger.info("只执行一次,第一次执行要延迟10秒" + new Date());
}
@Scheduled(fixedRate = 5 * 1000)
public void taskFour(){
logger.info("每五秒执行一次" + new Date());
}
}