@EnableScheduling
@Component // 把此类托管给 Spring,不能省略
public class TaskUtils {
@Autowired
private KeplerDataService keplerDataService;
// 添加定时任务
@Scheduled(cron = "00 00 00 ? * *") // cron表达式:每天凌晨 00:00:00 执行
public void doTask() {
try {
List<String> ids = keplerDataService.selectIds();
for (String id:ids) {
keplerDataService.insertKeplerData(id);
}
System.out.println("我是定时任务~"+new Date());
} catch (Exception e) {
e.printStackTrace();
}
}
}
spring定时任务可以在同一时间进行吗?
在 Spring 中,可以设置多个定时任务,并且可以在同一时间进行。Spring 使用线程池来管理和执行多个定时任务,因此可以在同一个时间段内同时执行多个任务。但是,需要注意的是,如果定时任务的执行时间非常接近,可能会导致线程池中没有足够的线程来执行所有的任务,从而导致某些任务延迟执行。为了避免这种情况,可以根据任务的执行时间调整线程池的大小或者调整任务的执行顺序。









网友评论