【spring boot】spring boot中使用定时任务配置
spring boot中使用定时任务配置
==================================================================================================================================
首先得创建一个spring boot项目吧,使用idea创建spring boot项目 本博客有教程
【本文完整代码 可参见 GItHub】
==================================================================================================================================
使用步骤如下
【千万注意:一定要在启动类添加注解,否则定时任务无效】
1.在启动类 添加 开启定时任务 注解@EnableScheduling

2.创建定时任务类,使用注解@Component 标注定时任务类,作用是注入为Bean
使用注解@Scheduled 标注在定时任务方法上, 作用是标注这个方法是执行定时任务的业务逻辑
关于@Scheduled的使用方法,参见后面备注1
@Component
public class AutoUpdateDateSchedule { @Autowired
HuaYangService service; //每一分钟执行一次
@Scheduled(cron = "0 0/1 * * * ?")
public void dealUpdateTask(){
System.out.println("定时更新数据库操作--->开始"); //只做最简单的 业务操作
service.scheduleUpdate(); System.out.println("定时更新数据库操作--->结束");
} }
=========================================================备注1=========================================================================
@Scheduled
1.cron属性的举例解析:
Seconds : 可出现", - * /"四个字符,有效范围为0-59的整数
Minutes : 可出现", - * /"四个字符,有效范围为0-59的整数
Hours : 可出现", - * /"四个字符,有效范围为0-23的整数
DayofMonth : 可出现", - * / ? L W C"八个字符,有效范围为0-31的整数
Month : 可出现", - * /"四个字符,有效范围为1-12的整数或JAN-DEc
DayofWeek : 可出现", - * / ? L C #"四个字符,有效范围为1-7的整数或SUN-SAT两个范围。1表示星期天,2表示星期一, 依次类推
Year : 可出现", - * /"四个字符,有效范围为1970-2099年 下面简单举几个例子: "0 */1 * * * ?" 每隔1分钟执行一次定时任务
"0 */5 * * * ?" 每隔5分钟执行一次定时任务 "0 0 12 * * ?" 每天中午十二点触发
"0 15 10 ? * *" 每天早上10:15触发
"0 15 10 * * ?" 每天早上10:15触发
"0 15 10 * * ? *" 每天早上10:15触发
"0 15 10 * * ? 2005" 2005年的每天早上10:15触发
"0 * 14 * * ?" 每天从下午2点开始到2点59分每分钟一次触发
"0 0/5 14 * * ?" 每天从下午2点开始到2:55分结束每5分钟一次触发
"0 0/5 14,18 * * ?" 每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
"0 0-5 14 * * ?" 每天14:00至14:05每分钟一次触发
"0 10,44 14 ? 3 WED" 三月的每周三的14:10和14:44触发
"0 15 10 ? * MON-FRI" 每个周一、周二、周三、周四、周五的10:15触发
2.fixedRate属性
用来标志 上次定时任务 和 下次定时任务 之间的延时时长【不管上次的定时任务是否已经执行完成,延时时间一到,立刻执行下次定时任务】【所以如果上一个任务执行之间长于 延时时长,则会发生重复执行的情况】
【毫秒级】【默认-1L】【下面示例为 5秒钟】

3.fixedDelay属性
用来标志 上次定时任务 和 下次定时任务 之间的延时时长【需要等到上次定时任务执行完成 后,经过延时时长,再执行下次定时任务】
【毫秒级】【默认-1L】【下面示例为 5秒钟】

4.initialDelay属性
用来标志,服务启动后 第一次执行定时任务的延时时长
可以配合上面两个属性一起使用
【下面标志: 服务启动后,过10s执行第一次定时任务,之后每过5s执行一次定时任务】

【spring boot】spring boot中使用定时任务配置的更多相关文章
- Spring + SpringMVC + Mybatis项目中redis的配置及使用
maven文件 <!-- redis --> <dependency> <groupId>redis.clients</groupId> <art ...
- Spring MVC 搭建过程中web.xml配置引入文件的路径问题
为啥要说一下这么low的问题,因为我是一个比较low的人,哈哈.本来我技术有限,没事干自己撘个环境找找乐趣,结果被各种基础问题,弄的一脸蒙蔽.算了不多说,直接说问题. 1.首先说一下java编译后的文 ...
- spring的applicationContext.xml中的DBCP配置如下:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy ...
- spring boot 整合 quartz 集群环境 实现 动态定时任务配置【原】
最近做了一个spring boot 整合 quartz 实现 动态定时任务配置,在集群环境下运行的 任务.能够对定时任务,动态的进行增删改查,界面效果图如下: 1. 在项目中引入jar 2. 将需要 ...
- Spring Boot2 系列教程(十八)Spring Boot 中自定义 SpringMVC 配置
用过 Spring Boot 的小伙伴都知道,我们只需要在项目中引入 spring-boot-starter-web 依赖,SpringMVC 的一整套东西就会自动给我们配置好,但是,真实的项目环境比 ...
- Spring Boot 中实现定时任务的两种方式
在 Spring + SpringMVC 环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用 Spring 自带的定时任务处理器 @Scheduled 注解,另一种就是使用第三方框架 Qua ...
- LocalDateTime在spring boot中的格式化配置
在项目中日期格式化是最常见的问题,之前涉及的 java.util.Date 和 java.util.Calendar 类易用性差,不支持时区,非线程安全,对日期的计算方式繁琐,而且容易出错,因为月份是 ...
- Spring Boot JDBC:加载DataSource过程的源码分析及yml中DataSource的配置
装载至:https://www.cnblogs.com/storml/p/8611388.html Spring Boot实现了自动加载DataSource及相关配置.当然,使用时加上@EnableA ...
- Spring Boot 中自定义 SpringMVC 配置,到底继承谁哪一个类或则接口?
看了这篇文章,写的非常的言简意赅,特此记录下: 1.Spring Boot 1.x 中,自定义 SpringMVC 配置可以通过继承 WebMvcConfigurerAdapter 来实现. 2.Sp ...
随机推荐
- Ubuntu下hadoop集群搭建
--修改IP地址(克隆镜像后可修改可不修改) http://jingyan.baidu.com/article/e5c39bf5bbe0e739d7603396.html -------------- ...
- bzoj 2190 线性生成欧拉函数表
首先我们知道,正方形内个是对称的,关于y=x对称,所以只需要算出来一半的人数 然后乘2+1就行了,+1是(1,1)这个点 开始我先想的递推 那么我们对于一半的三角形,一列一列的看,假设已经求好了第I- ...
- css的@符号的作用简单介绍
- linux察看安装包有那些
rpm -ql zsh |more 安装完之后,产生那些内容 which zsh rpm -qpl /mnt/packages/ rpm -Uvh /mnt/packages/lrzsz-0.2. ...
- scrapy的CrawlSpider使用
1.创建项目 我这里的项目名称为scrapyuniversal,然后我创建在D盘根目录.创建方法如下 打开cmd,切换到d盘根目录.然后输入以下命令: scrapy startproject scra ...
- [ Openstack ] Openstack-Mitaka 高可用之 Dashboard
目录 Openstack-Mitaka 高可用之 概述 Openstack-Mitaka 高可用之 环境初始化 Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...
- ibatis(sqlmap)中使用in语句的方法
对于快速学习ibatis而没有过多时间去查阅资料的朋友,比如我,可能有些东西不一定能在快速上手的文档中涉猎到.今天就碰到一个问题,要在分页 查询的同时进行where语句删选操作.由于表记录比较少,因此 ...
- HDU 6324.Problem F. Grab The Tree-博弈(思维) (2018 Multi-University Training Contest 3 1006)
6324.Problem F. Grab The Tree 题目看着好难,但是题解说的很简单,写出来也很简单.能想出来就是简单的,想不出来就难(讲道理,就算是1+1的题目,看不出来就是难的啊). 和后 ...
- CodeForces 669B
链接:http://codeforces.com/problemset/problem/669/B 本文链接:http://www.cnblogs.com/Ash-ly/p/5443086.html ...
- java 时间格式化中的模式字母
java日期格式化中的模式字母有特定的意义,由于没有注意,今天在做工程的时候导致出现了奇怪的日期: 错误写法如下: 然而得到了错误的结果: 正确写法如下: 这样就得到了正确的结果 mm指的是分钟,MM ...