Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java定时任务scheduled

作者:愛火焚城   发布日期:2025-08-21   浏览:69

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

@Component
public class ScheduledTask {

    // 每5秒执行一次任务
    @Scheduled(fixedRate = 5000)
    public void performTask() {
        System.out.println("定时任务执行时间: " + System.currentTimeMillis() / 1000);
    }

    // 在前一个任务完成后,等待2秒再执行下一个任务
    @Scheduled(fixedDelay = 2000)
    public void performTaskWithFixedDelay() {
        System.out.println("带有固定延迟的定时任务执行时间: " + System.currentTimeMillis() / 1000);
    }

    // 在指定的时间点执行任务(每天凌晨1点执行)
    @Scheduled(cron = "0 0 1 * * ?")
    public void performTaskAtSpecificTime() {
        System.out.println("每天凌晨1点执行的任务");
    }
}

解释说明:

  1. @Scheduled(fixedRate = 5000):表示每5秒执行一次任务。fixedRate 参数指定了每次任务之间的间隔时间(以毫秒为单位)。

  2. @Scheduled(fixedDelay = 2000):表示在前一个任务完成后,等待2秒再执行下一个任务。fixedDelay 参数指定了上一次任务结束到下一次任务开始的时间间隔。

  3. @Scheduled(cron = "0 0 1 * * ?"):使用 cron 表达式来定义更复杂的调度规则。这里的表达式表示每天凌晨1点执行任务。cron 表达式的格式为:秒 分 时 日 月 周 年(可选)

注意事项:

  • 需要在 Spring Boot 应用中启用定时任务功能,通常需要在主类或配置类上添加 @EnableScheduling 注解。
  • 定时任务的执行是基于单线程的,默认情况下不会并发执行多个任务实例。如果需要支持并发执行,可以配置多线程任务执行器。

上一篇:java pair

下一篇:java byte

大家都在看

java连接数据库的代码

java djl

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java发送qq邮件

java 判断

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站