当石英调度程序启动时需要触发作业
问题描述:
当我启动它时,Quartz调度程序不会触发我的作业。我的工作安排在每个小时。但是在启动我的调度程序后,我的第一份工作在一小时后触发。我是石英新手。以下是我的石英启动代码当石英调度程序启动时需要触发作业
JobKey feedWSClient = new JobKey("feedWSClient", "feed-validator");
JobDetail feedWSJob = JobBuilder.newJob(this).withIdentity(feedWSClient).build();
Trigger feedWSCListenerTrigger = TriggerBuilder.newTrigger()
.withIdentity("feedWSCListenerTrigger","feed-validator")
.withSchedule(CronScheduleBuilder.cronSchedule("0 0/59 * * * ?")).build();
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.scheduleJob(feedWSJob,feedWSCListenerTrigger);
scheduler.start();
答
下面的代码适用于我。 http://quartz-scheduler.org/api/2.2.0/
scheduler.start();
scheduler.triggerJob(feedWSClient);
需要开始jobkey调度后致电上述表示的。
你的cron字符串的意思是“在午夜的第零分钟和每59小时都做”(这是没有意义的)。我认为你应该把你的第二个领域改为'*'。 – RealSkeptic
谢谢,但给定的玉米表达式应该每小时执行一次,并且没有问题,只是在启动调度程序时不会启动。你有什么主意吗? –
这是不正确的(应该是'0 * * * *?'),但也许它只是忽略你的第二个领域,因为它没有任何意义。无论如何,它明确表示从每小时的第0分钟开始。它与您启动调度程序时无关,只与时钟有关。 – RealSkeptic