Spring Boot 实现定时任务
来源:互联网 发布:mac值是麻醉中什么 编辑:程序博客网 时间:2024/05/29 17:55
时间问题,今天就直奔主题。
在实际项目开发中,难免会遇到定时执行任务的场景;比方说,每隔多少时间需要做什么事情;每隔月的几号定时做什么事情;像这样的业务需求,会经常遇到;那么怎么去实现这样的业务需求呢。刚好最近使用spring Boot开发项目,我就以Spring Boot为例简述:
翻阅了下Spring Boot中有现成的定时注解使用,先来Code:
实现目标是:每隔10秒定时执行
1.Spring Boot 实现就是这么简洁,其中:
@Scheduled添加在所要定时执行的方法上
@Component和@EnableScheduling:标注启动定时任务
不难发现@Scheduled中的表达式不同,但是实现同样的功能
1)fixedRate = 10000表示每隔10000ms,Spring scheduling会调用一次该方法,不论该方法的执行时间是多少
2)fixedDelay = 10000表示当方法执行完毕10000后,Spring scheduling会再次调用该方法
3)cron = “/10 * * * * *”提供了一种通用的定时任务表达式,这里表示每隔10秒执行一次,更加详细的信息可以参考cron表达式。
2.cron表达式(摘取)
介绍一个cron Expression 表达式。
这一部分是摘抄的:
如上面的表达式所示:
“”字符被用来指定所有的值。如:”“在分钟的字段域里表示“每分钟”。
“-”字符被用来指定一个范围。如:“10-12”在小时域意味着“10点、11点、12点”。
“,”字符被用来指定另外的值。如:“MON,WED,FRI”在星期域里表示”星期一、星期三、星期五”.
“?”字符只在日期域和星期域中使用。它被用来指定“非明确的值”。当你需要通过在这两个域中的一个来指定一些东西的时候,它是有用的。看下面的例子你就会明白。
“L”字符指定在月或者星期中的某天(最后一天)。即“Last ”的缩写。但是在星期和月中“L”表示不同的意思,如:在月子段中“L”指月份的最后一天-1月31日,2月28日,如果在星期字段中则简单的表示为“7”或者“SAT”。如果在星期字段中在某个value值得后面,则表示“某月的最后一个星期value”,如“6L”表示某月的最后一个星期五。
“W”字符只能用在月份字段中,该字段指定了离指定日期最近的那个星期日。
“#”字符只能用在星期字段,该字段指定了第几个星期value在某月中
每一个元素都可以显式地规定一个值(如6),一个区间(如9-12),一个列表(如9,11,13)或一个通配符(如*)。“月份中的日期”和“星期中的日期”这两个元素是互斥的,因此应该通过设置一个问号(?)来表明你不想设置的那个字段。表7.1中显示了一些cron表达式的例子和它们的意义:
1月1日早上4点
3.quartz实现定时任务
quartz中的触发器,设计某个时候触发执行
使用的话,在Spring Boot 添加maven依赖包
- Spring Boot 实现定时任务
- 【Spring Boot】定时任务实现
- Spring Boot 实现定时任务
- spring boot实现定时任务
- Spring Boot 实现定时任务
- 基于Spring Boot 实现定时任务
- 【转载】基于Spring Boot 实现定时任务
- spring boot 定时任务
- spring boot 定时任务
- spring boot定时任务
- Spring boot 定时任务
- Spring Boot 定时任务
- spring boot创建定时任务
- Spring Boot定时任务实例
- Spring Boot : 定时任务(十)
- Spring Boot入门教程-定时任务
- Spring Boot 配置定时任务
- Spring boot 十 定时任务
- 17101701_CentOS7下利用init.d启动脚本实现tomcat开机自启动
- 2017.10.21离线赛总结
- Linux不能上网ping:unknown host问题怎么解决?
- bwdist
- 贪食蛇基础版
- Spring Boot 实现定时任务
- HBase学习笔记(一)HBase数据模型
- 《DOS命令一日通》第八章 自动文件执行(批处理文件)
- Android-用style修改AlertDialog修改按钮文字颜色
- 运维中心建设
- 每个人都应该知道的3种机器学习算法
- 「游戏引擎Mojoc」(5)快速指南
- find
- JAVA面向对象练习05第一种