首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >除节假日外,使用调度程序执行spring作业

除节假日外,使用调度程序执行spring作业
EN

Stack Overflow用户
提问于 2017-10-26 00:36:53
回答 1查看 1.1K关注 0票数 0

我有一个使用@EnableScheduling配置的java作业,并且能够使用注释运行作业。

代码语言:javascript
复制
@Scheduled(cron = "${job1.outgoingCron:0 45 15,18,20 * * MON-FRI}", zone = "America/New_York")
public void Process() {

}

但是我不想在美国度假的时候管理这份工作,这是更新日程的最好方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-26 07:15:43

例如,尝试使用CronTrigger或自定义Trigger设置您的计划Trigger

代码语言:javascript
复制
@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) {
       //...
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46944054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档