Spring 调度程序不会在循环后停止,但 运行 在停止并重新触发前 1 分钟
Spring Scheduler wont stop after loop but run for 1 minute before stop and re trigger
@Slf4j
@Component
public class ABScheduler {
@Autowired
private ABService abService;
@Scheduled(cron="* */5 * * * *")
private void testCron(){
String hour = "01";
List<Object1> object1List = new ArrayList<>(abService.getListOfobject(hour));
for(Object1 object1: object1List ){
System.out.println("object " +object1);
}
log.info("Cron finish run at "+ new Timestamp(System.currentTimeMillis()) );
}
}
我是这个调度程序的新手 spring,我发现很难让它在 for 循环后停止。
得到object1List中的object列表后(即;3个object),进入循环3次(正确)。但是在循环 3 次后停止 cron,它再次循环持续 1 分钟..
我需要做什么来确保 cron 运行 每 5 分钟一次,但在完成任务后停止,而不是让同一任务循环 1 分钟
您应该在项目中添加@EnableScheduling注解。
您的 cron 每秒运行一次。 (您的 cron 秒值 = *)
如果您只想每五分钟工作一次,请尝试:@Scheduled(cron="0 */5 * * * *")
cron 格式:
┌───────────── second (0-59)
│ ┌───────────── minute (0 - 59)
│ │ ┌───────────── hour (0 - 23)
│ │ │ ┌───────────── day of the month (1 - 31)
│ │ │ │ ┌───────────── month (1 - 12) (or JAN-DEC)
│ │ │ │ │ ┌───────────── day of the week (0 - 7)
│ │ │ │ │ │ (0 or 7 is Sunday, or MON-SUN)
│ │ │ │ │ │
* * * * * *
@Slf4j
@Component
public class ABScheduler {
@Autowired
private ABService abService;
@Scheduled(cron="* */5 * * * *")
private void testCron(){
String hour = "01";
List<Object1> object1List = new ArrayList<>(abService.getListOfobject(hour));
for(Object1 object1: object1List ){
System.out.println("object " +object1);
}
log.info("Cron finish run at "+ new Timestamp(System.currentTimeMillis()) );
}
}
我是这个调度程序的新手 spring,我发现很难让它在 for 循环后停止。 得到object1List中的object列表后(即;3个object),进入循环3次(正确)。但是在循环 3 次后停止 cron,它再次循环持续 1 分钟..
我需要做什么来确保 cron 运行 每 5 分钟一次,但在完成任务后停止,而不是让同一任务循环 1 分钟
您应该在项目中添加@EnableScheduling注解。
您的 cron 每秒运行一次。 (您的 cron 秒值 = *)
如果您只想每五分钟工作一次,请尝试:@Scheduled(cron="0 */5 * * * *")
cron 格式:
┌───────────── second (0-59)
│ ┌───────────── minute (0 - 59)
│ │ ┌───────────── hour (0 - 23)
│ │ │ ┌───────────── day of the month (1 - 31)
│ │ │ │ ┌───────────── month (1 - 12) (or JAN-DEC)
│ │ │ │ │ ┌───────────── day of the week (0 - 7)
│ │ │ │ │ │ (0 or 7 is Sunday, or MON-SUN)
│ │ │ │ │ │
* * * * * *