/** * Get a {@link org.quartz.Trigger} from the given job configuration properties. */ private Trigger getTrigger(JobKey jobKey, Properties jobProps) { // Build a trigger for the job with the given cron-style schedule return TriggerBuilder.newTrigger() .withIdentity(jobProps.getProperty(ConfigurationKeys.JOB_NAME_KEY), Strings.nullToEmpty(jobProps.getProperty(ConfigurationKeys.JOB_GROUP_KEY))) .forJob(jobKey) .withSchedule(CronScheduleBuilder.cronSchedule(jobProps.getProperty(ConfigurationKeys.JOB_SCHEDULE_KEY))) .build(); }
/** * Builds a Trigger which fires the Job identified by {@code jobKey} at (or around) the given * {@code triggerDateTime}. * * @param triggerDateTime The time at which a trigger was requested * @param jobKey The key of the job to be triggered * @return a configured Trigger for the Job with key {@code jobKey} */ protected Trigger buildTrigger(Instant triggerDateTime, JobKey jobKey) { return TriggerBuilder.newTrigger() .forJob(jobKey) .startAt(Date.from(triggerDateTime)) .build(); }
/** * Create a {@link Trigger} from the given {@link JobSpec} */ private Trigger createTrigger(JobKey jobKey, JobSpec jobSpec) { // Build a trigger for the job with the given cron-style schedule return TriggerBuilder.newTrigger() .withIdentity("Cron for " + jobSpec.getUri()) .forJob(jobKey) .withSchedule(CronScheduleBuilder.cronSchedule( jobSpec.getConfig().getString(ConfigurationKeys.JOB_SCHEDULE_KEY))) .build(); }
private static Trigger buildTrigger(Instant triggerDateTime, JobKey key) { return TriggerBuilder.newTrigger() .forJob(key) .startAt(Date.from(triggerDateTime)) .build(); }
.forJob(job) .build();
.forJob(job) .build();
.modifiedByCalendar(calendarName) .withSchedule(triggerProps.getScheduleBuilder()) .forJob(jobKey(jobName, jobGroup));
.modifiedByCalendar(calendarName) .withSchedule(triggerProps.getScheduleBuilder()) .forJob(jobKey(jobName, jobGroup));
public TriggerBuilder<T> getTriggerBuilder() { return TriggerBuilder.newTrigger() .forJob(getJobKey()) .modifiedByCalendar(getCalendarName()) .usingJobData(getJobDataMap()) .withDescription(getDescription()) .endAt(getEndTime()) .withIdentity(getKey()) .withPriority(getPriority()) .startAt(getStartTime()) .withSchedule(getScheduleBuilder()); }
public TriggerBuilder<T> getTriggerBuilder() { return TriggerBuilder.newTrigger() .forJob(getJobKey()) .modifiedByCalendar(getCalendarName()) .usingJobData(getJobDataMap()) .withDescription(getDescription()) .endAt(getEndTime()) .withIdentity(getKey()) .withPriority(getPriority()) .startAt(getStartTime()) .withSchedule(getScheduleBuilder()); }
/** * <p> * Trigger the identified <code>{@link org.quartz.Job}</code> (execute it * now) - with a non-volatile trigger. * </p> */ @SuppressWarnings("deprecation") public void triggerJob(JobKey jobKey, JobDataMap data) throws SchedulerException { validateState(); OperableTrigger trig = (OperableTrigger) newTrigger().withIdentity(newTriggerId(), Scheduler.DEFAULT_GROUP).forJob(jobKey).build(); trig.computeFirstFireTime(null); if(data != null) { trig.setJobDataMap(data); } boolean collision = true; while (collision) { try { resources.getJobStore().storeTrigger(trig, false); collision = false; } catch (ObjectAlreadyExistsException oaee) { trig.setKey(new TriggerKey(newTriggerId(), Scheduler.DEFAULT_GROUP)); } } notifySchedulerThread(trig.getNextFireTime().getTime()); notifySchedulerListenersSchduled(trig); }
.withIdentity(triggerName, triggerGroup) .withDescription(triggerDescription) .forJob(triggerJobName, triggerJobGroup) .startAt(triggerStartTime) .endAt(triggerEndTime)
.withIdentity(triggerName, triggerGroup) .withDescription(triggerDescription) .forJob(triggerJobName, triggerJobGroup) .startAt(triggerStartTime) .endAt(triggerEndTime)
/** * <p> * Trigger the identified <code>{@link org.quartz.Job}</code> (execute it * now) - with a non-volatile trigger. * </p> */ @SuppressWarnings("deprecation") public void triggerJob(JobKey jobKey, JobDataMap data) throws SchedulerException { validateState(); OperableTrigger trig = (OperableTrigger) newTrigger().withIdentity(newTriggerId(), Scheduler.DEFAULT_GROUP).forJob(jobKey).build(); trig.computeFirstFireTime(null); if(data != null) { trig.setJobDataMap(data); } boolean collision = true; while (collision) { try { resources.getJobStore().storeTrigger(trig, false); collision = false; } catch (ObjectAlreadyExistsException oaee) { trig.setKey(new TriggerKey(newTriggerId(), Scheduler.DEFAULT_GROUP)); } } notifySchedulerThread(trig.getNextFireTime().getTime()); notifySchedulerListenersSchduled(trig); }
private void scheduleOverseerJob() throws SchedulerException { JobDetail seed = makeOverseerJob(); // build our trigger CronScheduleBuilder cronSchedule = CronScheduleBuilder.cronSchedule(config.getCronExpression()); CronTrigger trigger = TriggerBuilder.newTrigger() .withIdentity(OVERSEER_JOB_NAME, groupName) .forJob(seed).withSchedule(cronSchedule) .build(); try { scheduler.addJob(seed, false); } catch (SchedulerException e) { // job already present } try { scheduler.scheduleJob(trigger); } catch (SchedulerException e) { // trigger already present try { scheduler.rescheduleJob(trigger.getKey(), trigger); } catch (SchedulerException ee) { LOG.error("Unable to modify trigger for: " + trigger.getKey()); } } }
private void process(JobExecutionContext context, Ehcache underlyingCache, ScheduledRefreshConfiguration config, List<Serializable> batch) throws SchedulerException { JobDataMap map = new JobDataMap(context.getJobDetail().getJobDataMap()); map.put(ScheduledRefreshCacheExtension.PROP_KEYS_TO_PROCESS, batch); Scheduler scheduler = context.getScheduler(); JobDetail job = JobBuilder .newJob(RefreshBatchJob.class) .withIdentity("RefreshBatch-" + INSTANCE_ID_GENERATOR.incrementAndGet(), context.getTrigger().getJobKey().getGroup()).usingJobData(map).build(); try { waitForOutstandingJobCount(context, config, scheduler, config.getParallelJobCount()); if (!scheduler.isShutdown()) { Trigger trigger = TriggerBuilder.newTrigger().startNow().forJob(job).build(); scheduler.scheduleJob(job, trigger); } } catch (SchedulerException e) { if (!scheduler.isShutdown()) { throw e; } } }
/** * Setup a unix cron-like trigger. * @param cronExpression the cron expression to use. For a complete tutorial about cron expressions, please refer to <a href="http://quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger">quartz reference documentation</a>. */ public void scheduleCron(final String cronExpression) { trigger = TriggerBuilder.newTrigger() .withIdentity(EASY_BATCH_JOB_TRIGGER) .withSchedule(CronScheduleBuilder.cronSchedule(cronExpression)) .forJob(EASY_BATCH_JOB) .build(); }
/** * Create a {@link Trigger} from the given {@link JobSpec} */ private Trigger createTrigger(JobKey jobKey, JobSpec jobSpec) { // Build a trigger for the job with the given cron-style schedule return TriggerBuilder.newTrigger() .withIdentity("Cron for " + jobSpec.getUri()) .forJob(jobKey) .withSchedule(CronScheduleBuilder.cronSchedule( jobSpec.getConfig().getString(ConfigurationKeys.JOB_SCHEDULE_KEY))) .build(); }
private Trigger genTriggerInstance(TriggerKey tk, JobDetail jd, Long interval, Integer repeatCount) { return newTrigger().withIdentity(tk).forJob(jd).startNow() .withSchedule(simpleSchedule().withIntervalInMilliseconds (interval).withRepeatCount(repeatCount)) .build(); }
private Trigger buildJobTrigger(JobDetail jobDetail, ZonedDateTime startAt) { return TriggerBuilder.newTrigger() .forJob(jobDetail) .withIdentity(jobDetail.getKey().getName(), "email-triggers") .withDescription("Send Email Trigger") .startAt(Date.from(startAt.toInstant())) .withSchedule(SimpleScheduleBuilder.simpleSchedule().withMisfireHandlingInstructionFireNow()) .build(); } }