Spring Boot 之 Scheduling Tasks定时任务
程序员文章站
2022-05-01 14:26:07
...
几乎大部分的应用都会有定时执行任务的需求。使用Spring Boot 之Scheduling Tasks 能够提高您的开发效率。
1,设置定时:
src/main/java/hello/ScheduledTasks.java:
package hello;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class ScheduledTasks {
private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
log.info("The time is now {}", dateFormat.format(new Date()));
}
}
@Componet 注解 能使Spring 找到该类。
@Scheduled 注解 定义一个特定的方法,fixedRate,表示任务开始执行时间间隔,单位毫米。f ixedDelay 表示 任务延迟执行,并
按照该时间间隔执行。也可以用更复杂些的定时配置 @Scheduled(cron=". . .") expressions for more sophisticated task scheduling.
2,启用定时功能
创建类
src/main/java/hello/Application.javapackage hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class);
}
}
@SpringBootApplication SpringBoot 项目的基础配置,详情请看上一章
@EnableScheduling 确保在后台创建一个任务执行者。
运行 main 方法
你将会看到 每5秒执行一次
[...] 2016-08-25 13:10:00.143 INFO 31565 --- [pool-1-thread-1] hello.ScheduledTasks : The time is now 13:10:00 2016-08-25 13:10:05.143 INFO 31565 --- [pool-1-thread-1] hello.ScheduledTasks : The time is now 13:10:05 2016-08-25 13:10:10.143 INFO 31565 --- [pool-1-thread-1] hello.ScheduledTasks : The time is now 13:10:10 2016-08-25 13:10:15.143 INFO 31565 --- [pool-1-thread-1] hello.ScheduledTasks : The time is now 13:10:15
推荐阅读
-
Spring Boot使用@Scheduled 实现定时任务
-
spring boot定时任务接收邮件并且存储附件的方法讲解
-
spring-boot通过@Scheduled配置定时任务及定时任务@Scheduled注解的方法
-
spring boot整合quartz实现多个定时任务的方法
-
Spring Boot中实现定时任务应用实践
-
详解Spring Boot 中实现定时任务的两种方式
-
spring boot整合quartz实现多个定时任务的方法
-
Spring Boot中实现定时任务应用实践
-
Spring Boot @Scheduled定时任务代码实例解析
-
SpringBoot系列:Spring Boot集成定时任务Quartz