springboot中的定时任务

1.  Java自带的java.util.Timer类

  timer:配置比较麻烦,时间延后问题
  timertask:不推荐

2.  Quartz框架

  配置更简单
  xml或者注解,暂不写

3.  springBoot使用注解开启定时

 1. 添加依赖

复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>
View Code
复制代码

2. 启动类添加注解

复制代码
@SpringBootApplication
@EnableCaching //开启缓存,和定时物无关
@EnableScheduling  //定时任务注解
@MapperScan(basePackages = { "com.xxy.server.modules.*.dao" })
View Code
复制代码

3. 常用的表达式

复制代码
                1、cron 定时任务表达式 @Scheduled(cron="*/1 * * * * *") 表示每秒
               crontab 工具  https://tool.lu/crontab/
        2、fixedRate: 定时多久执行一次(上一次开始执行时间点后xx秒再次执行;)
        3、fixedDelay: 上一次执行结束时间点后xx秒再次执行,上一次事件结束后延后x执行
        4、fixedDelayString:  字符串形式,可以通过配置文件指定
        
View Code
复制代码

4. 例子

 定时任务业务类 加注解 @Component被容器扫描
//
例子,设置没6秒执行一次 private int count = 0; @Scheduled(cron = "*/6 * * * * ?") private void process(){ System.out.println("this is scheduler task running " + (count++)); }

 

posted @   这都没什么  阅读(186)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示