将自定义系统日期设置为Scheduler

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将自定义系统日期设置为Scheduler相关的知识,希望对你有一定的参考价值。

我需要使用可自定义的系统日期执行计划任务,例如,我应该能够将计划程序日期设置为2019-01-15,在这种情况下,计划程序必须执行在该日期安排的所有任务,了解当前日期是2019-02-12。目前,我已经看过使用Spring或Quartz的时区解决方案。谢谢!。

答案

使用TaskScheduler模块:

private TaskScheduler scheduler;

Runnable exampleRunnable = new Runnable(){
    @Override
    public void run() {
        System.out.println("Executing task");
    }
};

@Async
public void executeTaskT() {
    ScheduledExecutorService localExecutor = Executors.newSingleThreadScheduledExecutor();
    scheduler = new ConcurrentTaskScheduler(localExecutor);

    DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
    Date scheduledDate = dateFormat.parse("12-02-2019", dateFormat);

    scheduler.schedule(exampleRunnable, scheduledDate);
}

executeTaskT(); //call it somewhere after the spring application has been configured

有关更多信息,请参阅:Spring scheduling task - run only once

以上是关于将自定义系统日期设置为Scheduler的主要内容,如果未能解决你的问题,请参考以下文章

在 Wordpress 中,如何将自定义帖子类型的默认管理员排序顺序设置为自定义列?

Android - 如何将自定义对象传递给片段

使用喷气背包导航将自定义过渡动画添加到底部导航设置

使用字符串变量将自定义日期和当前时间插入 Oracle 数据库

Kendo UI Scheduler - MVVM 设置日期

C# 使用DateTime.TryParseExact将自定义日期类型转换成日期