news 2026/4/23 15:41:36

Spring中的定时任务怎么用?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Spring中的定时任务怎么用?

一、定时任务怎么用?

1️⃣ 开启定时任务

@SpringBootApplication@EnableSchedulingpublicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}}

2️⃣ 编写定时任务

@ComponentpublicclassOrderTask{// 每 5 秒执行一次@Scheduled(fixedRate=5000)publicvoidcheckOrderStatus(){System.out.println("检查订单状态...");}}

3️⃣ 常见调度方式

// 固定间隔(上一次开始 → 下一次开始)@Scheduled(fixedRate=5000)// 固定延迟(上一次结束 → 下一次开始)@Scheduled(fixedDelay=5000)// Cron 表达式(最灵活)@Scheduled(cron="0 0 2 * * ?")// 每天凌晨 2 点

4️⃣ Cron 表达式速记

秒 分 时 日 月 周002**?
  • *任意

  • ?不指定

  • 0/5每 5 秒

  • MON-FRI周一到周五

📌适合场景
库存检查、数据同步、日志清理、缓存预热


二、线程池

默认的@Scheduled是单线程的,任务一堵,后面的都排队 🐌。

1️⃣ 自定义线程池

@Configuration@EnableSchedulingpublicclassScheduleConfig{@BeanpublicTaskSchedulertaskScheduler(){ThreadPoolTaskSchedulerscheduler=newThreadPoolTaskScheduler();scheduler.setPoolSize(5);scheduler.setThreadNamePrefix("schedule-");scheduler.initialize();returnscheduler;}}

2️⃣ 好处

  • 多任务并行执行

  • 不怕某个任务“赖着不走”


四、分布式定时任务:防止“多实例同时跑”

在集群环境中,一个定时任务可能被多个节点同时执行,很危险 ⚠️。

常见解决方案

✅ 1️⃣ Redis 分布式锁
@Scheduled(cron="0 */5 * * * ?")publicvoidtask(){if(redisLock.tryLock("order_task")){try{// 业务逻辑}finally{redisLock.unlock("order_task");}}}
✅ 2️⃣ ShedLock(强烈推荐)
@Scheduled(cron="0 0 1 * * ?")@SchedulerLock(name="cleanTask",lockAtMostFor="10m")publicvoidcleanData(){// 只会有一个实例执行}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 11:03:58

AI分类器创新应用:结合爬虫自动整理网络图片

AI分类器创新应用:结合爬虫自动整理网络图片 引言 作为一名数据分析师,你是否经常遇到这样的困扰:需要从海量网络图片中筛选出符合特定主题的内容,手动下载和分类既耗时又容易出错?今天我要分享的这套AI分类器爬虫的…

作者头像 李华
网站建设 2026/4/23 11:04:59

避坑!分类模型训练常见错误:云端GPU环境已预装所有依赖

避坑!分类模型训练常见错误:云端GPU环境已预装所有依赖 引言 你是否曾经在本地电脑上尝试训练一个分类模型,结果被各种环境配置问题折磨得焦头烂额?CUDA版本不匹配、PyTorch安装失败、依赖库冲突...这些问题消耗了开发者大量宝贵…

作者头像 李华
网站建设 2026/4/23 13:04:15

基于达摩院RaNER的实体识别实践|AI智能实体侦测服务全解析

基于达摩院RaNER的实体识别实践|AI智能实体侦测服务全解析 在信息爆炸的时代,非结构化文本如新闻、社交媒体内容、客服对话等每天以海量形式产生。如何从中快速提取关键信息——比如谁(人名)、在哪里(地名&#xff09…

作者头像 李华
网站建设 2026/4/19 17:59:16

重复的设计哲学:在秩序与突破中寻找平衡

当千手观音的对称造型带来震撼观感,当电梯间的洗脑广告让人过目不忘,当设计作品中重复的元素构建出独特韵律 ——“重复” 这一简单却强大的设计手法,始终在艺术美感与传播效果之间扮演着复杂角色。它既能成就经典的艺术表达,也可…

作者头像 李华
网站建设 2026/4/22 20:54:05

MiDaS模型比较:不同版本性能差异全面分析

MiDaS模型比较:不同版本性能差异全面分析 1. 引言:AI 单目深度估计的演进与MiDaS的角色 在计算机视觉领域,单目深度估计(Monocular Depth Estimation)是一项极具挑战性的任务——仅通过一张2D图像推断出场景中每个像…

作者头像 李华
网站建设 2026/4/23 12:30:16

MiDaS技术解析:如何提升深度估计的准确性

MiDaS技术解析:如何提升深度估计的准确性 1. 引言:AI 单目深度估计的挑战与MiDaS的突破 在计算机视觉领域,从单张2D图像中恢复3D空间结构一直是极具挑战性的任务。传统方法依赖多视角几何或激光雷达等硬件设备,成本高且部署复杂…

作者头像 李华