@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中的对象列表后(即;3对象),它进入循环3次(正确)。但是在循环3次后停止cron,它会继续循环1分钟。。
我需要做什么来确保cron每5分钟运行一次,但在完成任务后停止,而不是在1分钟内循环执行同一任务
1条答案
按热度按时间ijnw1ujt1#
您应该在项目中添加@enablescheduling anotion。
你的亲信每秒钟跑一次(您的cron second值=*)
如果你只想每五分钟工作一次,那就试试:
@Scheduled(cron="0 */5 * * * *")
cron格式:资源:spring框架cronexpression