(10)SpringBoot创建定时任务
发布日期:2021-06-30 11:08:07
浏览次数:2
分类:技术文章
本文共 2117 字,大约阅读时间需要 7 分钟。
摘要:本文主要讲解使用SpringBoot创建定时任务。
项目中经常会需要做一些定时处理的任务,比如每间隔多久做个统计,发个邮件,清理个数据。这时候就要用到定时任务,SpringBoot中,创建定时任务非常简单,具体步骤如下:
1.注解开启定时任务
在程序的启动类上加上@EnableScheduling注解,就会自动启用定时任务。
package com.java4all; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDateTime; @SpringBootApplication @EnableAutoConfiguration @RestController @EnableScheduling @MapperScan("com.java4all.dao") public class TmallApplication { public static void main(String[] args) { SpringApplication.run(TmallApplication.class, args); } @RequestMapping(value = "login",method = RequestMethod.GET) public String login(){ return "欢迎登陆:"+ LocalDateTime.now(); } }
2.创建定时任务
单独创建一个类,用来存放定时任务,然后在每个定时任务方法上,用注解标明定时任务的执行周期。我这里以每间隔10秒打印一下当前系统时间为例,注意@Component注解。
package com.java4all.task; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; /** * Author: momo * Date: 2018/4/9 * Description:定时任务类 */ @Component public class ScheduledTask { private final Logger logger = LoggerFactory.getLogger(getClass()); @Scheduled(fixedRate = 10000) public void printTime(){ logger.info("定时任务,现在时间:"+System.currentTimeMillis()); } }
3.@Scheduled的几种用法
@Scheduled(fixedRate = 5000) :上一次开始执行时间点之后5秒再执行
@Scheduled(fixedDelay = 5000) :上一次执行完毕时间点之后5秒再执行
@Scheduled(initialDelay=1000, fixedRate=5000) :第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次
@Scheduled(cron="*/5 * * * * *") :通过cron表达式定义规则
注意,这里的时间,单位是毫秒,1秒=1000毫秒
4.运行项目
项目启动后,我们就会在控制台看到每隔10秒会打印当前时间。
↓↓点击 阅读原文 ,查看完整源码。与其相忘江湖,不如点赞关注
本文为 java4all (公众号:java4all)原创
欢迎转载,请注明出处或文末给出二维码
谢谢!
转载地址:https://it4all.blog.csdn.net/article/details/89037694 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月26日 23时30分06秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
FZU 2147(找规律)
2019-04-30
POJ 2231 Moo Volume(规律)
2019-04-30
2016ACM省赛总结
2019-04-30
POJ初级分类 贪心专题 poj1328 POJ2109 POJ 2586
2019-04-30
Codeforces Round #356 (Div. 2)
2019-04-30
图论五百题
2019-04-30
最短路径 啊哈算法读书笔记
2019-04-30
Codeforces Round #358 (Div. 2)
2019-04-30
离散数学第六章 图
2019-04-30
hdu 1548 A strange lift(最短路)
2019-04-30
HDOJ 2544 最短路(四种做法)
2019-04-30
HDOJ 3790 最短路径问题
2019-04-30
HDU 3788 ZOJ问题
2019-04-30
UVa 401 Palindromes(简单字符串)
2019-04-30
POJ1694 An Old Stone Game
2019-04-30
Codeforces Round #359 (Div. 2)
2019-04-30
HDU-2896 病毒侵袭 && HDU-3065 病毒侵袭持续中(AC自动机)
2019-04-30
Manacher算法(O(n)求得最长回文)
2019-04-30
POJ-3080 Blue Jeans(简单字符串)
2019-04-30