配置说明请参考:http://www.blogjava.net/xmatthew/archive/2009/02/15/253864.html
cron-like也有叫unix-like表达式的,主要是对时间的配置,在quartz中主要用于触发器中,主要是根据用户配置的表达式以得出要执行作业的时间,看看Quartz是怎么解析cron-like表达式的,又是如何用于触发器之中。
CronExpression类:
Cron-like表达式的操作类是CronExpression,看一下它的类图吧:
图中画x号的方法是内部没有实现的方法,方框框起来的是我认为需要了解的方法,我下说一下我框起来的方法的含义:
GetNextValidTimeAfter方法:得到下一个有效的时间,比如表达式配置的是: /10 0 0 * * ?
意思是每间隔10s会执行一次作业,如果当前时间是:2010/1/1 10:10:00
哪么这个方法将返回:2010/1/1 10:10:10
GetNextInvalidTimeAfter方法:是得到下一个无效时间
GetNextValidTimeAfter方法:是得到下一次执行的时间
GetNextValidTimeAfter方法:是指给定的一个时间是否满足cron-like表达式
下面看一个例子:
- [STAThread]
- static void Main()
- {
- //[秒] [分] [小时] [日] [月] [周] [年]
- //实例化表达式类,把字符串转成一个对象
- CronExpression expression = new CronExpression("0 15 10 * * ? 2012");
- while (true)
- {
- DateTimeOffset utcNow = SystemTime.UtcNow();
- Console.WriteLine("UtcNow - " + utcNow);
- //Console.WriteLine("GetFinalFireTime - " + expression.GetFinalFireTime());这个方法没有实现
- //得到给定时间下一个无效的时间
- Console.WriteLine("GetNextInvalidTimeAfter - " + expression.GetNextInvalidTimeAfter(utcNow));
- //得到给定时间的下一个有效的时间
- Console.WriteLine("GetNextValidTimeAfter - " + expression.GetNextValidTimeAfter(utcNow));
- //得到给定时间下一个符合表达式的时间
- Console.WriteLine("GetTimeAfter - " + expression.GetTimeAfter(utcNow));
- //Console.WriteLine("GetTimeBefore - " + expression.GetTimeBefore(utcNow));这个方法没有实现
- //给定时间是否符合表达式
- Console.WriteLine("IsSatisfiedBy - " + expression.IsSatisfiedBy(new DateTimeOffset(2012, 4, 6, 2, 15, 0, TimeSpan.Zero)));
- Console.WriteLine(expression.TimeZone);
- Console.WriteLine("------------------------------------");
- Console.WriteLine(expression.GetExpressionSummary());
- Console.Read();
- }
- }
结果:
总结:对cron-like的解析也不是很难嘛,哈哈
下载源码
相关推荐
在Quartz中,cron-like表达式是一种强大的工具,用于定义任务的执行计划,类似于Unix系统的cron作业调度。Cron-like表达式在C#中得到了很好的实现,使得.NET开发者也能享受到这种灵活的调度能力。 在Unix系统中,...
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵 活性而...它有很多特征,如:数据库支持,集群,插件,EJB作业预构 建,JavaMail及其它,支持cron-like表达式等等。
在Quartz中,cron表达式包含6或7个字段,分别代表秒、分、小时、日、月、周几和年(可选)。每个字段可以是一个具体的值、通配符(*)、范围、列表或组合,用于指定任务的执行时刻。 3. **Quartz与cron表达式的关系...
前言:8月份翻译了Quartz.NET的官方课程:开源的作业调度框架 - Quartz.NET, 有的朋友抱怨难用,确实,目前Qiartz.NET的最新版本还是0.6,还...它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 ...它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 该附件是个实例,使用quartz.net 2.1.2版本编写,可以正常运行,欢迎下载使用
Quartz 2.0.2 API chm 带索引和全文检索,方便携带和查询 Quartz是一个开源的作业调度框架,它完全由Java写...它有很多特征,如:数据库支持,集群,插件,EJB作业预构 建,JavaMail及其它,支持cron-like表达式等等。
1. **Quartz简介**:Quartz是Cron-like作业调度库,设计用于在Java应用程序中实现任务调度。它提供了强大的API,允许开发者创建、调度和管理任务。Quartz可以处理简单到复杂的任务调度需求,包括触发基于时间的事件...
它有很多特征,如:数据库支持,集群,插件,EJB作业预构 建,JavaMail及其它,支持cron-like表达式等等。 从之前发布其他chm文件下载用户的反映看,有不少朋友反映下载后打开无法显示,这一般不是chm文件的问题,...
Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中。...它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。
5. **Cron-like表达式**:Quartz支持使用类似cron的表达式来定义任务执行时间。 **二、SpringBoot集成Quartz** 1. **引入Maven依赖** 在SpringBoot项目中,我们需要添加以下两个依赖: - `spring-boot-starter-...
Quartz支持 cron-like 表达式、触发器、作业和持久化,确保即使在应用程序重启后也能恢复计划的任务。 2. **SSM框架整合**: - **Spring**:Spring 是一个全面的Java应用框架,提供了依赖注入(DI)、面向切面编程...
它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在执行...
它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。 你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一天执行。一个自动执行而无须干预的任务在...
- Quartz是Cron-like和Calendar-based作业调度的Java实现,它允许开发人员在应用程序中定义、安排和执行任务。 - 作为轻量级的调度框架,Quartz可以非常方便地集成到任何Java应用中,无论是简单的单机应用还是大型...
1. **灵活性与简单性**:Quartz的设计允许开发者创建简单或复杂的作业调度,无论任务的执行频率是每日、每周、还是更复杂的定时模式,例如cron-like表达式。 2. **数据库支持**:Quartz支持将作业和触发器存储在...
Quartz框架的其他特征包括:数据库支持,集群,插件,EJB作业预构建,JavaMail及其他,支持cron-like表达式等等。Quartz框架可以用在单机J2SE应用中,作为一个RMI服务器,也可以用在web应用中,甚至也可以用在J2EE...
4. **cron-like表达式**:支持类似Unix cron的定时表达式,用于设置复杂的调度规则。 5. **错误处理**:当作业执行出错时,框架可以捕获异常并尝试重新执行。 使用Quartz.NET的步骤大致如下: 1. **下载与集成**:...
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不...它有很多特征,如:数据库支持,集群,插件,EJB作业预构建,JavaMail及其它,支持cron-like表达式等等。
作业调度框架插件及帮助文档,Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp...它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。