第七节:Quartz中的cron-like表达式
来源:互联网 发布:北京金蝶软件代理商 编辑:程序博客网 时间:2024/06/03 20:08
第七节:Quartz中的cron-like表达式
配置说明请参考: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的解析也不是很难嘛,哈哈
下载源码
http://download.csdn.net/detail/wanggang421338916/4214458
点击打开链接
- 第七节:Quartz中的cron-like表达式
- quartz中的cron表达式
- QuarTz中的Cron表达式
- 使用Quartz.NET cron-like表达式
- Spring+Quartz中的cron表达式
- Quartz 中的cron 表达式的格式
- Quartz的cron表达式
- Quartz的cron表达式
- quartz cron 表达式详解
- quartz cron 表达式详解
- Quartz cron表达式
- Quartz的cron表达式
- quartz cron 表达式详解
- quartz cron 表达式详解
- Quartz的cron表达式
- quartz cron 表达式详解
- Quartz的cron表达式
- Quartz的cron表达式
- J2SE JTabel例子
- 长时间没有写了 确实没有技术方面的可记录的 发个mysql的 单文件管理工具
- Sniffer pro 找不到网卡的解决方法
- C++编程思想学习——引用和拷贝构造函数
- 简单排序(冒泡,选择排序,插入排序)
- 第七节:Quartz中的cron-like表达式
- vim 在所有行前插入相同的内容
- POJ 2387Til the Cows Come Home(最短路)
- J2SE JTree例子
- JS常用验证
- silverlight MediaElement创建之后不能播放解决办法
- 遍历数组的三种方式
- MODEL-View-Presenter(MVP)模式在FLEX下的开发实例
- HTML颜色代码表,网页颜色代码表