@EnableScheduling和@Scheduled的使用
定时任务在配置类上添加@EnableScheduling开启对定时任务的支持,在相应的方法上添加@Scheduled声明需要执行的定时任务。
其中Scheduled注解中有以下几个参数:
- cron
- zone
- fixedDelay和fixedDelayString
- fixedRate和fixedRateString
initialDelay和initialDelayString
1.cron是设置定时执行的表达式,如 0 0/5 * * * ?每隔五分钟执行一次
2.zone表示执行时间的时区
3.fixedDelay 和fixedDelayString 表示一个固定延迟时间执行,上个任务完成后,延迟多长时间执行
4.fixedRate 和fixedRateString表示一个固定频率执行,上个任务开始后,多长时间后开始执行
5.initialDelay 和initialDelayString表示一个初始延迟时间,第一次被调用前延迟的时间
配置类
package com.xingguo.logistics.controller;import java.util.concurrent.Executor;import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;@Configuration
@ComponentScan({"com.xingguo.logistics.service.aspect")@EnableScheduling
public class AopConfig{}
service类
package com.xingguo.logistics.service.aspect;import java.text.SimpleDateFormat;
import java.util.Date;import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;@Service
public class TestService2 {private static final SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");//初始延迟1秒,每隔2秒@Scheduled(fixedRateString = "2000",initialDelay = 1000)public void testFixedRate(){System.out.println("fixedRateString,当前时间:" +format.format(new Date()));}//每次执行完延迟2秒@Scheduled(fixedDelayString= "2000")public void testFixedDelay(){System.out.println("fixedDelayString,当前时间:" +format.format(new Date()));}//每隔3秒执行一次@Scheduled(cron="0/3 * * * * ?")public void testCron(){System.out.println("cron,当前时间:" +format.format(new Date()));}
}
测试类
package com.xingguo.logistics.controller;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class TestController {public static void main(String[] args) {AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AopConfig.class);}
}
测试结果:
@EnableScheduling和@Scheduled的使用相关推荐
- spring boot: 计划任务@ EnableScheduling和@Scheduled
spring boot: 计划任务@ EnableScheduling和@Scheduled @Scheduled中的参数说明 @Scheduled(fixedRate=2000):上一次开始执行时间 ...
- @EnableScheduling和@Scheduled的使用(初级)
作者:兴国First 来源:CSDN 原文:https://blog.csdn.net/u014231523/article/details/76263304 版权声明:本文为博主原创文章,转载 ...
- Spring : @EnableScheduling注解 @Scheduled
文章目录 1.美图 2.概述 3.案例 4.@Scheduled 5.源码 6.抽取代码 1.美图 2.概述 @EnableScheduling注释,它可以初始化一个调度器. 3.案例 Spring ...
- 一步到位:依靠注解@EnableScheduling,@Scheduled 三步解决springboot定时器任务
1.首先在spring boot项目启动上面加上@EnableScheduling注解 2.然后去到你要实现定时器任务的方法所属的类上面加上@Component注解 3.在要实现定时器任务的方法上面加 ...
- SpringBoot 中定时执行注解(@Scheduled、@EnableScheduling)
项目开发中经常需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息.Spring为我们提供了异步执行任务调度的方式,提供TaskExecutor .TaskScheduler 接口. ...
- spring定时器@Scheduled的原理和实现分析
目录 一 简单介绍 二 为什么要加@EnableScheduling, @Scheduled才生效 三 什么时候什么地方解析@Scheduled 四,思考 一 简单介绍 我们可以通过如下方式使用定时器 ...
- SpringBoot - 定时任务入门(@Scheduled )详解
项目开发中经常需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息.Spring为我们提供了异步执行任务调度的方式,提供TaskExecutor .TaskScheduler 接口. ...
- Spring: 定时任务 @Scheduled 原理分析
文章目录 简介 01 简单实用 02 原理分析 总结 简介 当一个方法被加上@Schedule注解,然后做一些相关配置,在Spring容器启动之后,这个方法就会按照@Schedule注解的配置周期性或 ...
- 通过READ-BEHIND CACHE来控制缓慢的生产者
在我们的互联世界中,我们经常使用我们不拥有或无权改善的API中的数据. 如果一切顺利,他们的表现就会很好,每个人都会感到高兴. 但是太多次,我们不得不使用延迟小于最佳延迟的 API. 当然,答案是缓存 ...
最新文章
- FFmpeg在Windows上通过dshow编解码方式设置为mjpeg并实时显示测试代码
- 13个月才跑通GitHub模型,机器学习科研入门太难了吧
- 从数仓到数据中台,谈技术选型最优解
- 5815. 扣分后的最大得分
- Flask爱家租房--订单(房东接单、拒单)
- 互联网公司的黑话,你都经历过吗?
- sstv解码_SSTV通联活动:ISS国际空间站2020年1月30日和1月31日
- Caffe傻瓜系列(9):训练和测试自己的图片
- java/php/net/pythont物流配送中心管理系统设计
- windows批量转换网易ncm音乐
- ios(ipad,iphone)屏幕旋转检测通用方法
- 通信原理与MATLAB(二):DSB的调制解调
- 树莓派cups搭建无线打印机(HP Laserjet 1020)
- Python基础知识总结—数据类型,列表,元组,集合,字典
- 用Ruby on Rails实现适应各种平台的在线Office文档预览
- 刚刚,2022中科院分区表发布(附下载)
- 洛谷 P1135 奇怪的电梯
- 超级计算机开采金矿,地球内部有4亿亿吨黄金,人均550万吨,为何无人敢开采?...
- C/C++的输入输入
- 两个ESP8266配置透传(不要其他设备开热点)