Spring 调度程序

Spring Scheduler

我查看 spring 调度程序支持文档。

我在哪里找到:

ScheduledFuture schedule (Runnable task, Date startTime);

但是在@EnableScheduling的情况下,在各种示例中没有线程实现。

为什么?? 任何人都可以解释 提前致谢。

使用@EnableScheduling,您只需启用spring 调度程序功能。

要运行 一项任务,您将使用@Scheduled 注释public 方法。 所以你看到你不需要 运行nable / thread 因为你的 annotabed 方法将使用反射来调用。

@EnableScheduling
public class Tasks {

 @Scheduled(... options here)
 public void myTasks(){
     //doSomethingHere...
 }
}

我们的class必须至少有这些注释:

套餐org.springframework.scheduling.annotation

@Configuration
@EnableScheduling

可以设置固定延迟

@Scheduled(fixedDelay = 1000)

还有 initialDelay:

@Scheduled(fixedDelay = 1000, initialDelay = 1000)

或使用固定速率(当任务的每次执行都是独立的时)

 @Scheduled(fixedRate = 1000)

您也可以使用

在运行时创建它
org.springframework.scheduling.annotation.SchedulingConfigurer

public class SchedulerContextconfig implements SchedulingConfigurer
@Override
    public void configureTasks(ScheduledTaskRegistrar register) {

 register.addCronTask(Runnable task, String expression)

}