Spring Boot中使用@Scheduled创建定时任务
我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信、邮件之类的操作,也可能会定时地检查和监控一些标志、参数等。
创建定时任务
在Spring Boot中编写定时任务是非常简单的事,下面通过实例介绍如何在Spring Boot中创建定时任务,实现每过5秒输出一下当前时间。
- 在Spring Boot的主类中加入
@EnableScheduling
注解,启用定时任务的配置
@SpringBootApplication@EnableSchedulingpublic class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } |
- 创建定时任务实现类
@Componentpublic class ScheduledTasks { private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); @Scheduled(fixedRate = 5000) public void reportCurrentTime() { System.out.println("现在时间:" + dateFormat.format(new Date())); } } |
- 运行程序,控制台中可以看到类似如下输出,定时任务开始正常运作了。
2016-05-15 10:40:04.073 INFO 1688 --- [ main] com.didispace.Application : Started Application in 1.433 seconds (JVM running for 1.967)
现在时间:10:40:09
现在时间:10:40:14
现在时间:10:40:19
现在时间:10:40:24
现在时间:10:40:29522
现在时间:10:40:34
关于上述的简单入门示例也可以参见官方的Scheduling Tasks
@Scheduled详解
在上面的入门例子中,使用了@Scheduled(fixedRate = 5000)
注解来定义每过5秒执行的任务,对于@Scheduled
的使用可以总结如下几种方式:
@Scheduled(fixedRate = 5000)
:上一次开始执行时间点之后5秒再执行@Scheduled(fixedDelay = 5000)
:上一次执行完毕时间点之后5秒再执行@Scheduled(initialDelay=1000, fixedRate=5000)
:第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次@Scheduled(cron="*/5 * * * * *")
:通过cron表达式定义规则
代码示例
本文的相关例子可以查看下面仓库中的chapter4-1-1
目录:
- Github:https://github.com/dyc87112/SpringBoot-Learning
- Gitee:https://gitee.com/didispace/SpringBoot-Learning
如果您觉得本文不错,欢迎Star
支持,您的关注是我坚持的动力!
Spring Boot中使用@Scheduled创建定时任务相关推荐
- 在Spring Boot中使用@Scheduled实现定时任务
2019独角兽企业重金招聘Python工程师标准>>> 在Spring Boot中使用@Scheduled实现定时任务 之前没有使用Spring Boot的Java风格配置的时候,用 ...
- @scheduled注解配置时间_Spring Boot中使用@Scheduled创建定时任务
我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信.邮件之类的操作,也可能会定时地检查和监控一些标志.参数等. 创建定时任务 在Spring Boot中编写定时 ...
- scheduled一分钟执行一次_Spring 中使用 @Scheduled 创建定时任务
一.定时任务触发条件 1.在 Application 启动类上添加:@EnableScheduling 2.含定时方法的类上添加注解:@Component,该注解将定时任务类纳入 spring bea ...
- scheduled一分钟执行一次_Spring中使用@Scheduled创建定时任务
Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待 4999元包邮 去购买 > 一.定时任务触发条件 1.在 Application 启动类上添加: ...
- Spring Boot 如何解决多个定时任务阻塞问题?
大家好,我是不才磊哥~ 最近长文撸多了,有点累,今天来点简单的. 今天这篇文章介绍一下Spring Boot 中 如何开启多线程定时任务? 为什么Spring Boot 定时任务是单线程的? 想要解释 ...
- Spring Boot:在Spring Boot中使用定时任务
2019独角兽企业重金招聘Python工程师标准>>> 本文主要介绍如何在Spring Boot中使用定时任务,假设你已经建好了一个基础的Spring Boot项目.首先,我们在项目 ...
- 如何安装html启动器,如何在Spring Boot中创建自己的启动器?
如何在Spring Boot中创建自己的启动器? 也许你有一个内部库包或一个在整个应用程序环境中常用的开源库,如果要在多个Spring Boot应用程序中使用它,为它创建一个Spring Boot启动 ...
- Spring Boot中使用时序数据库InfluxDB
除了最常用的关系数据库和缓存之外,之前我们已经介绍了在Spring Boot中如何配置和使用MongoDB.LDAP这些存储的案例.接下来,我们继续介绍另一种特殊的数据库:时序数据库InfluxDB在 ...
- 【spring boot2】第8篇:spring boot 中的 servlet 容器及如何使用war包部署
嵌入式 servlet 容器 在 spring boot 之前的web开发,我们都是把我们的应用部署到 Tomcat 等servelt容器,这些容器一般都会在我们的应用服务器上安装好环境,但是 spr ...
最新文章
- 怎么读取java文件,Java怎么读取文件
- ZigBee On Windows Mobile--3.模拟器和实物调试
- 如何看懂照片的直方图
- OptaPlanner - 把example运行起来(运行并浅析Cloud balancing)
- 前端学习(1744):前端调试值之调试元素的盒模型
- android 4.2修改设置菜单的背景颜色
- linux 装nano命令,vim、nano在命令行上如何编辑文件
- 在PL/SQL中使用随机数和GUID
- 我的世界java种子 要塞,我的世界:稀奇种子,恐龙骨架出现在要塞,你绝对没见过...
- vue使用ntko控件完成word上传、html上传
- 推荐一个语音机器人项目
- python爬虫贴吧_Python爬虫——抓取贴吧帖子
- openwrt路由器-timeout while waiting for PADS.
- linux强制退出进程
- 一个域名可以对应多个ip地址的案例
- java获取上传视频的时长
- 通过SparkFun制作自己的Fritzing零件
- docker.10-Docker主机集群化方案 Docker Swarm
- 计算机考试报名无法访问,深圳考试院回应官网无法打开 具体情况是什么
- 用mysql语句骂人_MySQL中特别实用的几种SQL语句送给大家
热门文章
- TotoiseSVN 使用参考文章
- 指向函数的指针 - C语言
- 内核抢占,让世界变得更美好 | Linux 内核
- 分享一个剪切板的小软件CopyQ
- windows xp 下的putty不能使用小键盘的问题
- 计算机沟通方式,雅思阅读练习:计算机改变沟通方式
- clickhouse 增量更新_ClickHouse王炸功能即将来袭?
- sketchup边线设置_春天花花天桥,SketchUp草图大师快速建模!
- 【Pytorch神经网络理论篇】 21 信息熵与互信息:联合熵+条件熵+交叉熵+相对熵/KL散度/信息散度+JS散度
- bp神经网络预测_股指期货价格变动趋势往往反映的是股票价格的走势,因此BP神经网络对股指期货价格的准确预测就是对股票价格的准确预测。...