我已经实现了一个调度程序作业,只需要在前N天执行。是否有可能使任何特定的cron表达式实现此功能?
通常情况下,我使用 http://www.cronmaker.com/ 。但是,看起来,这种cron表达式不支持该工具。
有人可以提供你的想法吗?
答案 0 :(得分:2)
使用类似的东西:
@Scheduled(cron="0 0 17 1-5 1/1 ? ")
此cron表达式将在每个月的下午5点执行1到5天。 (您可以指定当天运行该作业的时间。)
下面是示例弹簧引导类,您可以通过它来验证解决方案。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
@SpringBootApplication
@EnableScheduling
public class SchedulerApplication {
public static void main(String[] args) {
SpringApplication.run(SchedulerApplication.class, args);
}
@Scheduled(cron="0 0 17 1-5 1/1 ? ")
public void sampleScheduled() {
System.out.println("Just testing the scheduler");
}
}