随笔 - 65  文章 - 0  评论 - 3  阅读 - 10万

SpringBoot实现定时器

  • JDK 的Timer类
  • SpringTask 
  • Quartz 

 

SpringTask实现步骤:

  • SpringBoot启动类添加@EnableScheduling 注解,开启定时任务功能。

         

  • 编写定时任务,新建SchedulingTask类 
  1. 在任务的类上写@Component,将当前的任务类注入到容器。
  2. 在任务方法上写@Scheduled,然后编写cron表达式。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package com.example.demo.Config;
 
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.Date;
 
@Component
public class SchedulingTask {
    //表示每隔3秒执行一次
    // @Scheduled(fixedRate = 6000)
     
    // 表示方法执行完成后5秒再执行
    @Scheduled(fixedDelay = 6000)
     
    // 表示每五秒执行一次
    //@Scheduled(cron = "*/6 * * * * ?")
    public void TestTask() {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println(dateFormat.format(new Date()));
    }
}

fixedDelay:你业务执行完毕后,6秒再执行。

fixedRate:不论你业务执行花费了多少时间,每隔6秒执行一次。

cron表达式:可以设置每天什么时候执行(在线Cron表达式生成器:https://cron.qqe2.com

 

Quartz 实现步骤:

posted on   陌生街中吹起褪色故梦  阅读(175)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示