`
Josh_Persistence
  • 浏览: 1649994 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类

Spring3 中的Schedule Task以及Quartz中的Cron表达式

阅读更多
Cron表达式使用格式
Seconds Minutes Hours DayofMonth Month DayofWeek [Year]
[年]

每个符号代表的含义:

  1. * :匹配该域的任意值;如*用在分所在的域,表示每分钟都会触发事件。
  2. ? :匹配该域的任意值。
  3. - :匹配一个特定的范围值;如时所在的域的值是10-12,表示10、11、12点的时候会触发事件。
  4. , :匹配多个指定的值;如周所在的域的值是2,4,6,表示在周一、周三、周五就会触发事件(1表示周日,2表示周一,3表示周二,以此类推,7表示周六)。
  5. / :左边是开始触发时间,右边是每隔固定时间触发一次事件,如秒所在的域的值是5/15,表示5秒、20秒、35秒、50秒的时候都触发一次事件。
  6. L :last,最后的意思,如果是用在天这个域,表示月的最后一天,如果是用在周所在的域,如6L,表示某个月最后一个周五。(外国周日是星耀日,周一是月耀日,一周的开始是周日,所以1L=周日,6L=周五。)
  7. W :weekday,工作日的意思。如天所在的域的值是15W,表示本月15日最近的工作日,如果15日是周六,触发器将触发上14日周五。如果15日是周日,触发器将触发16日周一。如果15日不是周六或周日,而是周一至周五的某一个,那么它就在15日当天触发事件。
  8. # :用来指定每个月的第几个星期几,如6#3表示某个月的第三个星期五。
实用的例子 表达式 含义
“0 0 12 * * ?” 每天12:00触发事件
“0 15 10 ? * *” 每天10:15触发事件
“0 15 10 * * ?” 每天10:15触发事件
“0 15 10 * * ? *” 每天10:15触发事件
“0 15 10 * * ? 2005″ 2005年的每天10:15触发事件
“0 * 14 * * ?” 每天14点开始触发,每分钟触发一次,14:59分结束
“0 0/5 14 * * ?” 每天14点开始触发到14:59分结束的每5分钟触发一次事件
“0 0/5 14,18 * * ?” 每天14点开始到14:59期间和18点到18:59期间的每5分钟触发一次事件
“0 0-5 14 * * ?” 每天14点到14:05期间的每1分钟触发一次事件
“0 10,44 14 ? 3 WED” 每年3月的星期三的14:10和14: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触发一次事件
分享到:
评论

相关推荐

    spring task quartz

    在`spring.xml`配置文件中,我们可以看到如何将Spring Task和Quartz集成到Spring应用中。配置Spring Task通常只需要开启调度器和配置`@Scheduled`注解的扫描。对于Quartz,我们需要配置`SchedulerFactoryBean`,包括...

    使用Spring Task开发定时任务的Demo

    Spring Task可以使用Cron表达式来精确控制任务的执行时间。Cron表达式是一种标准的时间表达方式,可以表示复杂的定时规则。 ```java @Scheduled(cron = "0 0/5 * * * ?") // 每5分钟执行一次 public void cronTask...

    定时任务与cron表达式md,学习代码

    要利用cron表达式,我们需要引入Spring框架或者Quartz库。 Spring框架提供了一个名为`@Scheduled`的注解,可以方便地实现定时任务。我们可以将这个注解放在方法上,然后在方法的参数中使用cron表达式来定义执行计划...

    spring定时任务关键jar包(齐全)

    `spring-context-support.jar`是Spring框架对Quartz和Commons JCR等第三方调度库的支持,同时也包含Spring自己的`TaskExecutor`和`TaskScheduler`接口,用于实现异步任务和定时任务。 1. **Spring TaskExecutor**: ...

    数据库动态生成 Schedule

    本话题主要关注Spring框架中的Schedule功能以及Quartz库的使用,它们都是Java世界中广泛采用的任务调度解决方案。 首先,让我们理解"Schedule"的概念。在计算机系统中,Schedule指的是预先设定的任务执行计划,它...

    spring之quartz定时器

    4. 创建Trigger,定义触发Job的规则,如`<bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">`,并设置cron表达式。 5. 将JobDetail和Trigger关联到Scheduler中,使用`...

    spring + Quartz 定时任务

    Quartz支持CRON表达式,可以创建复杂的调度规则,同时支持集群环境下的任务调度。`quartz-all-1.6.0.jar`包含了Quartz的核心功能。 **Spring与Quartz集成** Spring与Quartz的集成主要通过`org.springframework....

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

    首先,Spring Schedule是Spring Framework的一部分,它提供了基于Java的API(`@Scheduled`注解)以及XML配置的方式来实现定时任务。通过这个特性,开发者可以在预定义的时间间隔内执行特定的方法,用于处理例如数据...

    Spring的quartz和Timer实现定时

    你可以定义复杂的调度规则,如按照特定日期、时间间隔或者复杂的CRON表达式来触发任务。Spring通过`JobDetail`定义任务,`Trigger`定义触发器,结合`Scheduler`进行调度。Spring的`@Scheduled`注解也可以与Quartz...

    spring定时调用以及设定时间调用包括jar和源码

    本文将详细探讨Spring的定时任务机制以及Quartz的使用。 一、Spring Task Scheduler 1. `@Scheduled`注解:Spring 3.0引入了`@Scheduled`注解,允许在方法上声明一个定时任务。例如: ```java import org.spring...

    spring定时器 Spring定时器的两种实现方式Java的Timer类和OpenSymphony的Quartz。

    相比于`Timer`,Quartz 支持更复杂的定时表达式、多线程任务执行以及更丰富的任务调度策略。Quartz 可以通过 Cron 表达式或者基于时间间隔的方式来安排任务。 首先,需要在项目中引入Quartz依赖,然后创建一个Job类...

    spring 定时器

    在以上示例中,`MyQuartzJob`是一个Quartz作业,`initScheduler`方法会在Spring启动时配置这个作业,使其按照指定的CRON表达式执行。 总结起来,如果你的应用只需要简单的定时任务,并且不想引入额外的库,Spring ...

    schedule.zip

    在本文中,我们将深入探讨Spring Boot中的定时任务,包括如何使用Spring Boot的内置Task调度器以及集成Quartz第三方库来实现复杂的时间调度。这些技术在实际项目开发中极为常见,帮助开发者实现自动化任务,如数据...

    schedule-task-to-object.zip

    总结起来,"schedule-task-to-object.zip"可能是一个关于Java定时任务的示例,涵盖了Spring的`@Scheduled`注解、`TaskScheduler`以及可能的Quartz库的使用。这些技术都是Java开发中管理和调度周期性任务的重要工具,...

    Spring定时任务(多个实例)

    本篇文章将详细探讨Spring中的定时任务,包括配置方式、注解实现以及集成Quartz库进行更复杂的定时调度。 1. **Spring配置定时任务** 在Spring中,我们可以使用`<task:*>`命名空间来配置定时任务。首先,需要在...

    java-springboot-quartz-定时任务.zip

    SpringBoot作为轻量级的框架,简化了Spring应用的初始搭建以及开发过程,而Quartz则是一个功能强大的作业调度框架,可以精确地控制任务的执行时间和频率。 在SpringBoot项目中集成Quartz,首先需要引入相关的依赖。...

    springboot+quartz +mysql 核心代码

    在IT行业中,Spring Boot、Quartz和MySQL是三个非常重要的技术组件,它们分别代表了微服务开发框架、任务调度框架和关系型数据库管理系统。这里我们将深入探讨如何将它们结合使用,构建一个基于Spring Boot的动态...

    spring 定时器 注解+xml 方式模板

    除了`fixedRate`和`cron`,Spring Schedule还支持其他的调度策略,如`fixedDelay`(上一个任务执行结束后的延迟时间),以及通过`initialDelay`设置首次执行的延迟时间。这些策略可以根据实际需求灵活选择。 ### ...

    spring的计时器

    `CronTrigger`是基于cron表达式的触发器,而`FixedRateTrigger`则用于按固定间隔执行任务。 4. `TaskExecutor`接口:用于执行异步任务,虽然不是专门的定时任务接口,但在某些场景下,我们可以结合`TaskScheduler`...

    Java关于时间调度的几种实现方(Timer Quartz Spring)

    本篇文章将深入探讨Java中的三种主要时间调度实现:`Timer`、`TimerTask`、以及第三方库`Quartz`和`Spring`的定时任务功能。 ### 1. Java `Timer` 和 `TimerTask` `java.util.Timer` 类提供了一个调度任务的方法,...

Global site tag (gtag.js) - Google Analytics