如何在java代码中安排任务

hud*_*udi 5 java spring scheduled-tasks

我知道如何在spring环境中安排任务:

  <task:scheduler id="taskScheduler" pool-size="1" />
  <task:scheduled-tasks scheduler="taskScheduler">
    <task:scheduled ref="jobWatcher" method="run" cron="*/10 * * * * ?" />
  </task:scheduled-tasks>
Run Code Online (Sandbox Code Playgroud)

但是我的任务的cron可以在运行时配置,所以我需要在java代码中创建任务.在春季文档中:http://docs.spring.io/spring/docs/3.0.x/reference/scheduling.html是这样的:

scheduler.schedule(task, new CronTrigger("* 15 9-17 * * MON-FRI"));
Run Code Online (Sandbox Code Playgroud)

这是我想要的,但我不知道他们在这个例子中的创建调度程序是什么,他的课程是什么.请帮忙

Ram*_*oza 1

您的链接中仅上面三段

public interface TaskScheduler {

    ScheduledFuture schedule(Runnable task, Trigger trigger);

    ScheduledFuture schedule(Runnable task, Date startTime);

    ScheduledFuture scheduleAtFixedRate(Runnable task, Date startTime, long period);

    ScheduledFuture scheduleAtFixedRate(Runnable task, long period);

    ScheduledFuture scheduleWithFixedDelay(Runnable task, Date startTime, long delay);

    ScheduledFuture scheduleWithFixedDelay(Runnable task, long delay);

}
Run Code Online (Sandbox Code Playgroud)

所以在scheduler.schedule(task, new CronTrigger("* 15 9-17 * * MON-FRI"));

  • scheduler是一个实例TaskScheduler
  • task是一个可运行的

    Runnable exampleRunnable = new Runnable(){
    
        @Override
        public void run() {
            //To change body of implemented methods 
        }
    };
    
    Run Code Online (Sandbox Code Playgroud)