`

spring Scheduled 设置——定时程序时间格式

 
阅读更多
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
按顺序依次为
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
7.年份(1970-2099)
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。由于”月份中的日期”和”星期中的日期”这两个元素互斥的,必须要对其中一个设置?.
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点
“0 0 12 * * ?” 每天中午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期间的每1分钟触发
“0 0/5 14 * * ?” 在每天下午2点到下午2:55期间的每5分钟触发
“0 0/5 14,18 * * ?” 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
“0 0-5 14 * * ?” 在每天下午2点到下午2:05期间的每1分钟触发
“0 10,44 14 ? 3 WED” 每年三月的星期三的下午2:10和2:44触发
“0 15 10 ? * MON-FRI” 周一至周五的上午10:15触发
“0 15 10 15 * ?” 每月15日上午10:15触发
“0 15 10 L * ?” 每月最后一日的上午10:15触发
“0 15 10 ? * 6L” 每月的最后一个星期五上午10:15触发
“0 15 10 ? * 6L 2002-2005″ 2002年至2005年的每月的最后一个星期五上午10:15触发
“0 15 10 ? * 6#3″ 每月的第三个星期五上午10:15触发

有些子表达式能包含一些范围或列表
例如:子表达式(天(星期) )可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”
“*”字符代表所有可能的值
因此,“*”在子表达式(月 )里表示每个月的含义,“*”在子表达式(天(星期) )表示星期的每一天
“/”字符用来指定数值的增量
例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟
         在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样
“?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值

当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”
“L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写
但是它在两个子表达式里的含义是不同的。
在天(月)子表达式中,“L”表示一个月的最后一天
在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT
如果在“L”前有具体的内容,它就具有其他的含义了
例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最一个星期五
注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题
原文见http://blog.csdn.net/remote_roamer/article/details/6573173
分享到:
评论

相关推荐

    Spring定时调度——将调度信息持久化到数据库中

    Spring提供了`@Scheduled`注解,允许开发者在方法上声明定时任务。例如,你可以这样定义一个每分钟执行一次的任务: ```java import org.springframework.scheduling.annotation.Scheduled; import org.spring...

    Spring Boot中的@Scheduled注解:定时任务的原理与实现

    Spring Boot作为一个流行的微服务开发框架,为开发者提供了一种简单而强大的方式来处理定时任务——即通过使用`@Scheduled`注解。本文将详细介绍`@Scheduled`注解的工作原理、配置方法以及如何在实际项目中运用它来...

    Java多线程之定时任务 以及 SpringBoot多线程实现定时任务——异步任务

    1. SpringBoot 自定义线程池以及多线程间的异步调用(@Async、@EnableAsync) 2.Java多线程之定时任务 以及 SpringBoot多线程实现定时任务 3.@EnableScheduling 与 @Scheduled

    Spring+Schedule(定时任务)小示例

    本示例主要关注Spring框架的一个重要特性——定时任务(Schedule),这使得开发者能够轻松地实现周期性任务的执行,无需手动创建线程或者使用第三方库。接下来,我们将深入探讨Spring Schedule的相关知识点。 首先...

    windows系统下使用java语言,在mysql数据库中做定时数据备份、删除(csdn)————程序.pdf

    SpringBoot提供了`@Scheduled`注解,可以方便地定义定时任务。在`com.nb.nbbl.utils.task`包下创建一个名为`Task`的类,该类将作为定时任务的载体。 ```java import org.springframework.beans.factory.annotation....

    手把手教你 ,spring定时发送邮件

    本教程将聚焦于Spring的一个实用特性——定时任务,特别是如何利用Spring集成JavaMailSender来实现定时发送邮件。我们将探讨以下知识点: 1. **Spring定时任务(Scheduled Tasks)** Spring通过`@Scheduled`注解和`...

    spring定时器时间配置

    ### Spring 定时器时间配置详解 在Spring框架中,定时任务是非常常见且重要的功能之一。通过使用`org.springframework.scheduling.quartz.CronTriggerBean`类,开发人员能够灵活地控制任务执行的时间点。本文旨在...

    java定时器结合spring

    因此,Spring提供了更强大的定时任务管理工具——`@Scheduled`注解和`TaskScheduler`接口。 1. **Spring的`@Scheduled`注解**:这是Spring Framework提供的一个用于创建定时任务的注解。你可以直接在方法上添加`@...

    springboot 定时发送邮件

    首先,我们关注的是"定时"这一概念,这涉及到Spring Boot中的定时任务调度器——`@Scheduled`。通过在方法上添加此注解,我们可以将该方法设定为定时任务,例如每秒执行一次。`@Scheduled`注解可以与`@...

    spring 任务调度

    在IT行业中,Spring框架是Java开发中的一个核心组件,它提供了丰富的功能,包括但不限于依赖注入、AOP(面向切面编程)以及我们今天要讨论的重点——任务调度。Spring的任务调度模块使得开发者能够在应用中轻松地...

    Spring Boot中配置定时任务、线程池与多线程池执行的方法

    总的来说,Spring Boot通过`@EnableScheduling`、`@Scheduled`、`@EnableAsync`和`ThreadPoolTaskExecutor`等工具,为我们提供了灵活的定时任务和线程池配置能力,可以根据实际需求来定制任务执行策略,优化系统性能...

    spring学习系列 -- 定时器三 两种定时器的比较

    Spring Task包括了`@Scheduled`注解,可以方便地在bean上标注以实现定时任务。此外,它还支持基于cron表达式的调度。相比于Quartz,Spring Task集成更简单,配置更少,适合于那些不需要太复杂调度功能的应用。 现在...

    maven spring 任务调度实列

    Spring框架提供了一个强大的任务调度模块——Spring Task,也被称为Spring Batch,它支持基于时间的任务调度和基于事件的任务触发。 首先,我们需要在`pom.xml`文件中添加Spring相关的依赖。这通常包括`spring-...

    SPRING定时器使用说明

    在Spring框架中,可以通过`@Scheduled`注解来实现基于Cron表达式的定时任务配置。例如: ```java @Component public class ScheduledTasks { @Scheduled(cron = "0 0 12 * * ?") public void runAtNoon() { ...

    定时器 quartz 和 spring

    标题 "定时器 quartz 和 spring" 涉及到的是两个在Java开发中非常重要的框架——Quartz和Spring。Quartz是一个开源的工作调度框架,它允许开发者创建、调度和执行任务,而Spring则是一个功能丰富的应用程序框架,...

    Spring的计划任务小案例

    在上述代码中,`ScheduledTasks`类被声明为一个Spring Bean,`reportCurrentTime`方法通过`@Scheduled(fixedRate = 5000)`注解定义为一个定时任务,每5秒执行一次。 在Spring Boot项目中,如果使用了Spring MVC,...

    spring 调度实例

    本教程将深入探讨如何在Spring框架中实现调度任务,即定时调用程序的功能。这在很多场景下都是非常实用的,比如定期执行数据清理、发送邮件通知或者进行系统监控等。 首先,我们要了解Spring调度的主要工具——...

    spring+jdk定时器

    然后,在需要执行定时任务的方法上添加`@Scheduled`,设置执行间隔或其他时间参数。例如: ```java @Configuration @EnableScheduling public class ScheduleConfig { @Bean public MyTask myTask() { return ...

    Java定时任务

    首先,Java定时任务的核心是实现程序在特定时间点或按一定周期执行的能力。Java标准库提供了一个基础框架——java.util.Timer和TimerTask类,可以实现简单的定时任务。然而,由于它们在多线程处理上的局限性,实际...

    spring quartz集群配置

    总结,Spring Quartz集群配置涉及到多个步骤,包括选择合适的Job Store、配置Spring集成、定义定时任务以及优化集群设置。正确配置后,我们可以获得高可用和可扩展的定时任务调度系统,满足大规模分布式系统的需求。

Global site tag (gtag.js) - Google Analytics