我需要在调用调度程序时立即执行调度程序,下次它将在cron表达式的基础上执行。但是在这里,我的代码只在10分钟后执行,但在运行这个类/应用程序时不执行。
用于注册和调用执行方法的QuartzConfigure.java:
public class QuartzConfigure {
public static void main(String args[]) throws Exception {
// specify the job' s details..
JobDetail job = JobBuilder.newJob(QuartzSchduleJob.class)
.withIdentity("testJob")
.build();
//this is specify using chron expression using chrone expression
Trigger trigger = TriggerBuilder.newTrigger().withIdentity("Group2")
.withSchedule(CronScheduleBuilder.cronSchedule("0 /10 * * * ?"))
.startNow().build();
//schedule the job
SchedulerFactory schFactory = new StdSchedulerFactory();
Scheduler sch = schFactory.getScheduler();
sch.start();
sch.scheduleJob(job, trigger);
}
}QuartzSchduleJob.java工作:
public class QuartzSchduleJob implements Job {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
System.out.println("calling jobSchedulling::"+System.currentTimeMillis());
}
}发布于 2014-09-24 13:35:35
使用当前的代码,您的“调度程序”将在sch.start()之后立即启动,因此,我猜您想知道如何在“调度程序”启动时强制您的作业触发。
如果是这样的话,你不能用一个cron表达式来实现这一点,但是我有两个解决方案。
SimpleScheduleBuilder。在代码中,替换CronExpressionSchedule:
触发器= TriggerBuilder.newTrigger() .withIdentity("trigger1“、"Group2")、.withIntervalInMinutes(10) .repeatForever() .startNow() .build();https://stackoverflow.com/questions/25843425
复制相似问题