跳过正文
  1. 文章/
  2. Java/
  3. SpringFramework/
  4. Spring/

6、Schedule

·440 字·1 分钟· loading · loading · ·
Java SpringFramework Spring
GradyYoung
作者
GradyYoung
Spring - 点击查看当前系列文章
§ 6、Schedule 「 当前文章 」

在Spring框架中,提供了一些用于调度任务的注解,用于实现定时任务的执行。

相关注解
#

注解 说明
@EnableScheduling 在Spring配置类上添加@EnableScheduling注解来启用定时任务功能
@Scheduled 用于标记定时任务的方法,并配置任务的触发时间表达式或固定频率。

注意事项
#

  • 定时任务方法必须是无参方法,可以是void返回类型或具有返回值。
  • 时间表达式可以使用cron表达式或固定频率进行配置,例如cron = "0 0 8 * * ?"表示每天早上8点触发,fixedRate = 5000表示每隔5秒触发一次。
  • 定时任务的方法默认是串行执行的,如果任务执行时间较长,可能会影响后续任务的触发。可以通过配置线程池或使用异步方法(也就是可以和@Async搭配使用)来并发执行定时任务。
  • 定时任务应避免使用阻塞操作,例如长时间的I/O操作或线程休眠等,以免影响整个应用程序的性能和响应性。

代码示例
#

配置类开启定时任务

@Configuration
@ComponentScan("top.ygang")
@EnableScheduling
public class SpringConfiguration {

}

定义任务方法

@Component
public class MyTask {
    @Scheduled(cron = "0 0 8 * * ?") // 每天早上8点触发
    public void executeTask() {
        // 定时任务执行的方法体
    }
}
Spring - 点击查看当前系列文章
§ 6、Schedule 「 当前文章 」