日期:2014-05-19  浏览次数:20723 次

需要写一个调度CronExpression需要从早上8点半开始到17点半每半小时执行一次
需要写一个调度CronExpression需要从早上8点半开始到17点半每半小时执行一次,我这样写的
CronExpression cexp = new CronExpression("0 0/30 8-17 * * ?");  
现在的问题是8点都执行了。。。不能从半点开始。。。。
各位大侠帮帮忙。。。

------解决方案--------------------
你的要求,直接用一条Cron表达式应该做不到。

需要换一种思路,用三个Cron表达式:
A、负责在8点15分,将C表达式任务启用;
B、负责17点45分,将C表达式任务禁用。
C、每半个小时执行一次任务。
------解决方案--------------------
探讨

你的要求,直接用一条Cron表达式应该做不到。

需要换一种思路,用三个Cron表达式:
A、负责在8点15分,将C表达式任务启用;
B、负责17点45分,将C表达式任务禁用。
C、每半个小时执行一次任务。

------解决方案--------------------
have a try
CronExpression cexp = new CronExpression("0 0-59/30 8-17 * * ?");

分钟位置的设置,0-59/30 表示分钟间隔30分钟,即每30分钟执行一次

------解决方案--------------------
每注意看,是从8点半开始啊
have a try
CronExpression cexp1 = new CronExpression("0 30/30 8-17 * * ?");
------解决方案--------------------
这个需要测试下,我依稀记得似乎会把 9:00/10:00 这类的给废了,不过搭环境测试比较费时。

楼主,为了测试简单起见,建议先改成秒和分来测试稍微好点。
------解决方案--------------------
探讨
实在不行,分2个来做吧,一个0分启动,一个30分启动,即
CronExpression cexp1 = new CronExpression("0 30 8-17 * * ?");
CronExpression cexp2 = new CronExpression("0 0 9-17 * * ?");

------解决方案--------------------
"0 0/30 8-18 * * ?" 这样貌似可以的把,在代码里写上如果等于8点或者是18点就不执行业务代码也ok吧