Corn表达式介绍:
Cron 表达式包括以下 7 个字段:
• 秒
• 分
• 小时
• 月内日期
• 月
• 周内日期
• 年(可选字段)
特殊字符
Cron 触发器利用一系列特殊字符,如下所示:
• 反斜线(/)字符表示增量值。例如,在秒字段中“5/15”代表从第 5 秒开始,每 15 秒一次。
• 问号(?)字符和字母 L 字符只有在月内日期和周内日期字段中可用。问号表示这个字段不包含具体值。所以,如果指定月内日期,可以在周内日期字段中插入“?”,表示周内日期值无关紧要。字母 L 字符是 last 的缩写。放在月内日期字段中,表示安排在当月最后一天执行。在周内日期字段中,如果“L”单独存在,就等于“7”,否则代表当月内周内日期的最后一个实例。所以“0L”表示安排在当月的最后一个星期日执行。
• 在月内日期字段中的字母(W)字符把执行安排在最靠近指定值的工作日。把“1W”放在月内日期字段中,表示把执行安排在当月的第一个工作日内。
• 井号(#)字符为给定月份指定具体的工作日实例。把“MON#2”放在周内日期字段中,表示把任务安排在当月的第二个星期一。
• 星号(*)字符是通配字符,表示该字段可以接受任何可能的值。
字段 允许值 允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选) 留空, 1970-2099 , - * /
表达式意义
"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触发
代码:
//参数:任务名,任务组,任务执行类
JobDetail jobDetail = new JobDetail(jobname,jobgroup,jobclass);
//参数:触发器名,触发器组,定时策略
CronTrigger trigger = new CronTrigger(triggername,triggergroup,timeRule);
Scheduler sched = (new StdSchedulerFactory()).getScheduler();
sched .scheduleJob(jobDetail , trigger );
sched .start();
分享到:
相关推荐
以下是对Spring整合Quartz使用实例的详细说明: 1. **Quartz简介** Quartz是一个强大的、完全开源的作业调度框架,它支持复杂的调度策略,如按日期、时间间隔或自定义表达式执行。Quartz可以在Java应用中作为独立...
### Quartz 使用说明详解 #### 一、Quartz 功能简介 **Quartz** 是一款开源的任务调度框架,广泛应用于 Java 应用程序中。它的主要功能是帮助开发者以灵活的方式调度任务,支持复杂的触发规则。 - **嵌入式运行**...
### Quartz使用例子详解 在Java领域,Quartz是一个强大的任务调度框架,被广泛应用于各种应用场景中,例如定时任务、事件处理等。本文将基于提供的代码片段,深入解析Quartz的使用方法,包括如何定义Job、配置...
Quartz 使用详解 Quartz 是一个功能强大的作业调度器,可以帮助开发者实现复杂的任务调度和执行。下面是关于 Quartz 使用详解的知识点总结。 一、实例化 Scheduler 在使用 Quartz 之前, 必须使用 ...
### Quartz使用总结与详解 #### 一、Quartz概述 Quartz是一个开源的任务调度框架,主要功能在于能够根据用户自定义的时间规则来触发任务执行。Quartz提供了丰富的接口供开发者进行二次开发,使得任务调度变得非常...
- 默认情况下,Quartz使用内存存储作业和触发器信息,但也可以配置使用数据库进行持久化,确保服务器重启后任务不会丢失。 9. **高级特性** - `Stateful Jobs`:有状态的作业,每个实例只执行一次,适合处理不可...
quartz使用指南,quartz使用指南,quartz使用指南
这个小结将深入探讨Quartz的核心概念、使用场景以及如何与Spring框架集成。 一、Quartz简介 Quartz是由Caledonia Software公司开发的Java定时任务库,它提供了一种高度可配置的方式来安排和执行工作。Quartz支持...
Spring 和 Quartz 是两个在 Java 开发中非常重要的框架。Spring 是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、MVC...正确配置和使用这两个框架,能够为企业的后台服务带来极大的灵活性和可维护性。
Quartz本身支持多种持久化策略,包括使用数据库(JDBC)来存储作业和触发器信息,这使得任务调度信息在系统重启后仍能保留。下面将详细介绍如何进行Spring与Quartz的整合,以及使用JDBC存储的相关步骤。 1. **...
这个"Quartz使用实例"可能包含一个演示了如何配置和使用Quartz的项目,解压后可以直接运行,这对于初学者或者需要快速理解Quartz工作原理的人来说非常有用。 Quartz的核心概念包括Job(作业)、Trigger(触发器)和...
本文将深入探讨如何使用Quartz配合cron表达式来实现定时任务的实例。 首先,我们要理解cron表达式。Cron表达式是Unix系统中的定时任务调度工具,也被Quartz框架所采用。它由六个或七个子表达式组成,每个子表达式...
Quartz 使用简单、灵活的 API 来创建、管理和执行作业。在本文中,我们将深入探讨如何在 .NET 应用程序中使用 Quartz.NET,这是一个专门为 .NET 平台实现的 Quartz 版本。 首先,要开始使用 Quartz.NET,你需要将 ...
接下来,为了使用`Quartz`,你需要引入`quartz-spring`库,并配置`Scheduler`: ```xml <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!-- 其他配置...
Quartz 是一个开源的作业调度框架,它允许开发者在 Java 应用程序中安排任务的执行。线程池是 Quartz 的核心组成部分,用于管理和执行触发的任务。本文将深入探讨 Quartz 线程池的工作原理、配置以及如何在实际项目...
如果使用的是Spring Boot,可以在`application.properties`或`application.yml`中配置Quartz,并通过`@EnableScheduling`注解启用定时任务支持。 8. **动态管理定时任务** Spring提供的`SchedulerFactoryBean`...
8. **集成环境**:Quartz 可以在多种环境中使用,既可以作为独立应用程序,也可以作为 J2EE 应用服务器的组件。它还支持 RMI(远程方法调用)接口,便于远程管理和监控。 9. **灵活性**:Quartz 的灵活性体现在其...
Quartz 是一个强大的开源作业调度框架,专为 Java 平台设计,无论是 J2SE 还是 J2EE 应用都可以使用。它的主要目的是提供一个简单易用但功能丰富的任务调度解决方案。Quartz 具备数据库支持、集群功能、插件机制、...
以下将详细介绍如何在Spring Boot应用中使用YAML文件配置Quartz定时任务,以及涉及的Spring Cloud Alibaba、Dubbo和Nacos的相关知识。 首先,我们需要在`pom.xml`中引入相关的依赖。Spring Boot的`spring-boot-...