我的表单中还有一个名为expiryDate的字段。 因此,当提交此表单并且expiryDate是10-08-2017 1:05pm时,我希望任务立即在过期记录上执行。
我已经能够使用Spring @Scheduled和Cron来执行任务。
@Scheduled(cron = "0 0 0/4 ? * *") // At second :00, at minute :00, very 4 hours starting at 00am, of every day
public void printMessage(){
List<User> userList = userService.findAllUsers();
for (User item : userList){
System.out.println("First Name :: " + item.getFirstName());
}
System.out.println("I am called by Spring scheduler");
}
使用Cron意味着作业将在特定时间执行,例如每4小时执行一次。
在这种情况下,如果一整天都没有过期的记录或事件,则仍会执行将占用系统资源的作业。
因此,不是使用Cron或Scheduler,而是记录过期后立即执行任务的任何其他方式。
我主要担心的是仅在记录或事件过期时运行任务。