我有一个使用@EnableScheduling配置的java作业,并且能够使用注释运行作业。
@Scheduled(cron = "${job1.outgoingCron:0 45 15,18,20 * * MON-FRI}", zone = "America/New_York")
public void Process() {
}但是我不想在美国度假的时候管理这份工作,这是更新日程的最好方法。
发布于 2017-10-26 07:15:43
例如,尝试使用CronTrigger或自定义Trigger设置您的计划Trigger:
@SpringBootApplication
@EnableScheduling
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
@Bean
public TaskScheduler taskScheduler() {
return new ThreadPoolTaskScheduler();
}
}
@Component
@RequiredArgsConstructor // Lombok annotation
public class StartUp implements ApplicationRunner {
@NonNull private final TaskScheduler scheduler;
@Override
public void run(ApplicationArguments args) throws Exception {
// Variant 1
scheduler.schedule(this::myTask, new CronTrigger(/* your schedule */));
// Variant 2
scheduler.schedule(this::myTask, this::myTriger);
}
private void myTask() {
//...
}
private Date myTrigger(TriggerContext triggerContext) {
//...
}
}https://stackoverflow.com/questions/46944054
复制相似问题