SpringTask

一、简介

Spring Task 是指 Spring 框架中用于执行定时任务的功能。通过 Spring Task,开发者可以方便地在应用程序中设置定时任务,例如在特定的时间间隔执行某个方法,或者在特定的时间点执行某个任务。

二、cron表达式

Cron 表达式是一种用来表示时间规则的字符串格式,通常用于设置定时任务的执行时间。它由 6 或 7 个字段组成,每个字段表示一个时间单位或者一个时间范围,用空格或者制表符分隔开。

六个(或七个)字段分别表示:

  1. 秒(0-59)
  2. 分钟(0-59)
  3. 小时(0-23)
  4. 日期(1-31)
  5. 月份(1-12 或者 JAN-DEC)
  6. 星期(0-6 或者 SUN-SAT)
  7. 年份(可选,1970-2099)

每个字段可以是一个具体的值,一个列表,一个范围,或者使用通配符。

常见的示例:

  • 0 0 12 * * ?:每天中午 12 点触发
  • 0 15 10 ? * *:每天上午 10:15 触发
  • 0 0/5 * * * ?:每隔 5 分钟触发
  • 0 0 8-10 * * ?:每天上午 8 点到 10 点,每小时触发一次
  • 0 0/30 8-10 * * ?:每天上午 8 点到 10 点,每 30 分钟触发一次
  • 0 0 9 ? * MON-FRI:周一到周五上午 9 点触发

Cron 表达式提供了非常灵活的定时任务调度方式,可以精确地设置任务的执行时间。

三、案例

在 Spring 中,实现定时任务有多种方式,其中最常见的是使用 @Scheduled 注解。通过在方法上添加 @Scheduled 注解,并设置相应的定时规则,Spring 就会自动调度这个方法执行。

例如:

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class MyScheduledTasks {

    @Scheduled(fixedRate = 5000) // 每隔 5 秒执行一次
    public void task1() {
        // 执行任务逻辑
    }

    @Scheduled(cron = "0 0 12 * * ?") // 每天中午 12 点执行
    public void task2() {
        // 执行任务逻辑
    }
}

除了 @Scheduled 注解,Spring 还提供了 TaskScheduler 接口和 ThreadPoolTaskScheduler 类,用于在程序中动态地创建和管理定时任务。

Spring Task 提供了简单、灵活的定时任务功能,是开发 Spring 应用程序中常用的模块之一。

在线生成器 https://www.pppet.net/

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值