新回答
您是正确的,我个人测试过,它可以正常工作。
使用以下Java代码测试cron执行:
CronTrigger t = new CronTrigger("* */15 * * * * ");
TriggerContext tc = new SimpleTriggerContext();
System.out.println("Current Time:" + new Date()+ " |Next Execution " + t.nextExecutionTime(tc));
Calendar c = Calendar.getInstance();
c.setTime(new Date());
c.add(Calendar.MINUTE,16);
tc = new SimpleTriggerContext(c.getTime(),c.getTime(),c.getTime());
System.out.println("Current Time:" +c.getTime() + "Next Execution " + t.nextExecutionTime(tc));
c.add(Calendar.MINUTE,18);
tc = new SimpleTriggerContext(c.getTime(),c.getTime(),c.getTime());
System.out.println("Current Time:" + c.getTime() + "Next Execution " + t.nextExecutionTime(tc));
这里是导入语句
import org.springframework.scheduling.TriggerContext;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.scheduling.support.SimpleTriggerContext;
import java.util.Calendar;
import java.util.Date;
旧答案
您错误地将第一个工作安排在每天下午3点
正确的cron是*/15 * * * *
使用
@Scheduled(cron = "*/15 * * * *")
你错误地将第二个工作计划在每天晚上8点执行,正确的cron表达式是*/20 * * * *
参考cron表达式http://corntab.com/?c=*/20_*_*_*_*_