Spring task中怎么使用定时任务
发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,Spring task中怎么使用定时任务,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。使用现在开发都是基于 springboot,而
千家信息网最后更新 2025年02月05日Spring task中怎么使用定时任务
Spring task中怎么使用定时任务,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
使用
现在开发都是基于 springboot,而在 springboot 中配置 spring task 尤为简单。
步骤如下:
准备一个 springboot 工程
在启动类上添加 @EnableScheduling 注解
@SpringBootApplication@EnableSchedulingpublic class DemoApplication {}
在定时执行的方法上添加 @Scheduled(fixedDelay = 3 * 1000) 注解
@Scheduled(fixedDelay = 3 *1 000)public void p1(){ System.out.println(Thread.currentThread().getName() + " p1");}
注意: 第三步注解的属性会在后面细讲
@Scheduled 注解
在说注解属性之前, 需要了解下 Spring 定时器的三种工作模式。
1. fixedDelay
当上一次的任务执行完成之后, 再等 3 秒钟, 执行下一次任务。
示意图如下:
配置如下:
@Scheduled(fixedDelay = 3 * 1000)
2. fixedRate
会根据设置的值, 来预计每次任务应该在什么时候执行。
假定设置的值是 3 秒。那么每个任务预计执行的时间就是 3 秒钟, 定时任务在 7点 0分 0秒 开始执行。
示意图如下:
配置如下:
@Scheduled(fixedRate = 3 * 1000)
3. cron
假定设置的每 5 秒 执行一次,会每隔 5 秒来看一下,上一个任务是否执行完成。
示意图如下:
配置如下:
@Scheduled(cron = "0/3 * * * * ? ")
思考
问题
了解了 Spring 定时器的三种工作模式后,来思考一个问题,如下面时序图的定时功能?
答案
默认情况下,定时任务是由一个单线程执行的。所以我们需要定义一个线程池去异步执行定时任务。
具体步骤:
定义一个线程池
@Configuration @EnableAsync public class SchedulerAsyncConfig { @Bean public Executor taskExecutor(){ ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setMaxPoolSize(200); executor.setCorePoolSize(10); executor.setQueueCapacity(10); executor.initialize(); return executor; } }
在定时任务上加上 @Async 注解。
@Scheduled(fixedDelay = 10) @Async public void p1(){ System.out.println(Thread.currentThread().getName() + " p1"); }
关于 Spring task中怎么使用定时任务问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
任务
注解
问题
配置
示意图
线程
定时器
属性
方法
更多
模式
步骤
工作
帮助
解答
易行
简单易行
内容
功能
小伙
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全实际支出
gdc服务器日志下载
软件开发进隆平高科
数据库模型按照什么来划分的
网络安全对代码要求高吗
2019中国网络安全排行
服务器有问题如何修复
五常软件开发培训学校
国企改革网络安全股票
竹山质量软件开发市场
阿里巴巴服务器装在哪里
骑士精神5选择服务器
成都晨月网络技术地址
不良网络安全的危害调查问卷
真实日记软件开发
大唐至尊网络技术
建立冲压件数据库
安全要考虑数据库什么
网络安全对我国的影响
东方联星 软件开发待遇
广东如何开展亲子网络安全教育
数据库技术经历的3个阶段
南平棋牌软件开发
定制化国产服务器批发
网络安全朗诵稿
mysql数据库常用版本
数据库bzgzzd
龙山市网络安全执法
陆军手机网络安全壁纸
服务器行为管理器