我需要编写一个调度器类,应该每5分钟、15分钟和30分钟调用一次。
我应该如何开始处理这个调度程序?我想使用Java 7。
一种方法是知道当前的时间,然后调度计算每个定时器的差异。
是否有任何图书馆或类已经做类似的工作?
发布于 2014-11-14 09:04:53
在石英2号里,这个应该是
Trigger trigger = TriggerBuilder
.newTrigger()
.withIdentity("someTriggerName", "someGroup")
.withSchedule(
CronScheduleBuilder.cronSchedule("0 5,15,30 * * * ?"))
.build();这将创建一个触发器,该触发器会在一小时后的正确时间内激活。第一个字段是秒;其次是分钟;然后是小时;月份;月份;周的日期(您想要指定这些日期,因此是?)。您可以为每个条目指定多个条目,而*的意思是始终如此;因此,这是所有的日子,在5、10或15分钟零秒之后。
现在你可以创建一个石英作业了
public class MyJob implements Job
{
public void execute(JobExecutionContext context throws JobExecutionException {
// do something useful
}
}并使用此触发器对其进行调度:
Scheduler sched = new StdSchedulerFactory().getScheduler();
sched.start();
sched.scheduleJob(new MyJob(), trigger);https://stackoverflow.com/questions/26926098
复制相似问题