启动类增加
@EnableScheduling
@Component
public class TestSchedule {
Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
BizFeign feign;
/**
* @Fields CRON_FIFTY 每10分钟执行一次
*/
private final static String CRON_FIFTY = "1 */10 * * * ? ";
/**
* @Description 定时任务
* @author lk
*
*/
@Async
@Scheduled(cron = CRON_FIFTY)
public void scheduled() {
Date beginDate = new Date();
logger.debug("定时任务开始[{}]", beginDate);
feign.task();
Date endDate = new Date();
logger.debug("定时任务结束[{}] 共执行[{}]秒", endDate, (endDate.getTime() - beginDate.getTime()) / 1000);
}
}
application.properties增加
spring.task.scheduling.pool.size=10
需要注意的是定时任务是单线程的
比如有一个定时任务在执行。既然到了新任务的执行时间也会等到上个任务结束才执行新任务