Spring @Scheduled(fixedRate = 120000) 和 @Scheduled(cron = "*/5 * * * * ?")的区别?

简介: Spring @Scheduled(fixedRate = 120000) 和 @Scheduled(cron = "*/5 * * * * ?")的区别?

FixedRate = 120000的意思是:

程序根据上次执行的时候开始统计,比如设定了120S。比如执行该方法的时间是20S,那么100S后会再次执行该方法,在单线程时,这种定时器容易阻塞。有时候看到断点打在某个有定时器的方法中,每次直接跳到断点里面,定时器还没有到为何直接到断点,这就是说明有阻塞发生,在多线程编程中可以避免此问题的发生,目前file解析程式为多线程应用,



@Scheduled(cron = "*/5 * * * * ?")  每5s起来执行一次

corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份


“/” 表示起始时间开始触发,然后每隔固定时间触发一次。例如在Minutes域使用5/20,则意味着从5分开始每20分钟触发一次

"," 表示列出枚举值。例如:在Minutes域使用5,20,则意味着在5和20分每分钟触发一次。


练习

(1)0 0 2 1 * ? *  表示在每月的1日的凌晨2点调整任务

(2)0 15 10 ? * MON-FRI   表示周一到周五每天上午10:15执行作业

(3)0 15 10 ? 6L 2002-2006表示2002-2006年的每个月的最后一个星期五上午10:15执行作

(4)0 0 10,14,16 * * ?   每天上午10点,下午2点,4点

(5)0 0/30 9-17 * * ?  朝九晚五工作时间内每半小时

(6)0 0 12 ? * WED    表示每个星期三中午12点

(7)0 0 12 * * ?   每天中午12点触发

(8)0 15 10 ? * *    每天上午10:15触发

(9)0 15 10 * * ?     每天上午10:15触发

(10)0 15 10 * * ? *    每天上午10:15触发

(11)0 15 10 * * ? 2005    2005年的每天上午10:15触发

(12)0 * 14 * * ?     在每天下午2点到下午2:59期间的每1分钟触发

(13)0 0/5 14 * * ?   在每天下午2点到下午2:55期间的每5分钟触发

(14)0 0/5 14,18 * * ?    在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发

(15)0 0-5 14 * * ?   在每天下午2点到下午2:05期间的每1分钟触发

(16)0 10,44 14 ? 3 WED   每年三月的星期三的下午2:10和2:44触发

(17)0 15 10 ? * MON-FRI    周一至周五的上午10:15触发

(18)0 15 10 15 * ?    每月15日上午10:15触发

(19)0 15 10 L * ?    每月最后一日的上午10:15触发

(20)0 15 10 ? * 6L    每月的最后一个星期五上午10:15触发

(21)0 15 10 ? * 6L 2002-2005 2002年至2005年的每月的最后一个星期五上午10:15触发

(22)0 15 10 ? * 6#3   每月的第三个星期五上午10:15触发


目录
相关文章
|
9月前
|
监控 Java 应用服务中间件
spring和springboot的区别
spring和springboot的区别
89 1
|
2月前
|
Java 关系型数据库 数据库
京东面试:聊聊Spring事务?Spring事务的10种失效场景?加入型传播和嵌套型传播有什么区别?
45岁老架构师尼恩分享了Spring事务的核心知识点,包括事务的两种管理方式(编程式和声明式)、@Transactional注解的五大属性(transactionManager、propagation、isolation、timeout、readOnly、rollbackFor)、事务的七种传播行为、事务隔离级别及其与数据库隔离级别的关系,以及Spring事务的10种失效场景。尼恩还强调了面试中如何给出高质量答案,推荐阅读《尼恩Java面试宝典PDF》以提升面试表现。更多技术资料可在公众号【技术自由圈】获取。
|
4月前
|
监控 Java 应用服务中间件
Spring和Spring Boot的区别
Spring和Spring Boot的主要区别,包括项目配置、开发模式、项目依赖、内嵌服务器和监控管理等方面,强调Spring Boot基于Spring框架,通过约定优于配置、自动配置和快速启动器等特性,简化了Spring应用的开发和部署过程。
106 19
|
4月前
|
Java 调度 开发者
spring的@Scheduled()有几种定时模式?
【10月更文挑战第12天】spring的@Scheduled()有几种定时模式?
188 1
|
4月前
|
Java 编译器 Spring
Spring AOP 和 AspectJ 的区别
Spring AOP和AspectJ AOP都是面向切面编程(AOP)的实现,但它们在实现方式、灵活性、依赖性、性能和使用场景等方面存在显著区别。‌
147 2
|
4月前
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
319 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
|
6月前
|
Java 数据库连接 数据库
Spring Data JPA 与 Hibernate 之区别
【8月更文挑战第21天】
165 0
|
7月前
|
SQL Java 调度
实时计算 Flink版产品使用问题之使用Spring Boot启动Flink处理任务时,使用Spring Boot的@Scheduled注解进行定时任务调度,出现内存占用过高,该怎么办
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7月前
|
Java 微服务 Spring
【spring cloud】注解@SpringCloudApplication和@SpringBootApplication的区别
【spring cloud】注解@SpringCloudApplication和@SpringBootApplication的区别
130 0