Refine search
/** Run once at given time... */ public SimpleTimer(String name, String group, long startTime) { this.trigger = TriggerBuilder.newTrigger() .withIdentity(name, group) .withSchedule( SimpleScheduleBuilder.simpleSchedule() .withMisfireHandlingInstructionFireNow()) .startAt(new Date(startTime)) .build(); // new SimpleTrigger(name, group, new Date(startTime)); }
public SimpleTimer(String name, long interval) { this.trigger = TriggerBuilder.newTrigger() .withIdentity(name) .withSchedule( SimpleScheduleBuilder.simpleSchedule() .withIntervalInMilliseconds(interval) .repeatForever() .withMisfireHandlingInstructionFireNow()) .build(); // .new SimpleTrigger(name, SimpleTrigger.REPEAT_INDEFINITELY, interval); }
/** * Get a {@link ScheduleBuilder} that is configured to produce a * schedule identical to this trigger's schedule. * * @see #getTriggerBuilder() */ @Override public ScheduleBuilder<SimpleTrigger> getScheduleBuilder() { SimpleScheduleBuilder sb = SimpleScheduleBuilder.simpleSchedule() .withIntervalInMilliseconds(getRepeatInterval()) .withRepeatCount(getRepeatCount()); switch(getMisfireInstruction()) { case MISFIRE_INSTRUCTION_FIRE_NOW : sb.withMisfireHandlingInstructionFireNow(); break; case MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT : sb.withMisfireHandlingInstructionNextWithExistingCount(); break; case MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT : sb.withMisfireHandlingInstructionNextWithRemainingCount(); break; case MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT : sb.withMisfireHandlingInstructionNowWithExistingCount(); break; case MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT : sb.withMisfireHandlingInstructionNowWithRemainingCount(); break; } return sb; }
/** * Create a SimpleScheduleBuilder set to repeat forever with a 1 second interval. * * @return the new SimpleScheduleBuilder */ public static SimpleScheduleBuilder repeatSecondlyForever() { return simpleSchedule() .withIntervalInSeconds(1) .repeatForever(); }
/** * Create a SimpleScheduleBuilder set to repeat forever with an interval * of the given number of minutes. * * @return the new SimpleScheduleBuilder */ public static SimpleScheduleBuilder repeatMinutelyForever(int minutes) { return simpleSchedule() .withIntervalInMinutes(minutes) .repeatForever(); }
/** * Create a SimpleScheduleBuilder set to repeat forever with a 1 hour interval. * * @return the new SimpleScheduleBuilder */ public static SimpleScheduleBuilder repeatHourlyForever() { return simpleSchedule() .withIntervalInHours(1) .repeatForever(); }
private void addRecurringJob(Class<? extends Job> class1, int intervalMillis) throws SchedulerException { SimpleTrigger trigger = newTrigger().withIdentity("group1", class1.getSimpleName()).withSchedule(simpleSchedule().withIntervalInMilliseconds(intervalMillis).repeatForever()).build(); JobDetail job = newJob(class1).withIdentity("group1", class1.getSimpleName()).build(); sched.scheduleJob(job, trigger); }
/** {@inheritDoc} */ public String addScheduledJobAfterDelay(int interval, IScheduledJob job, int delay) { String name = getJobName(); // Store reference to applications job and service JobDataMap jobData = new JobDataMap(); jobData.put(QuartzSchedulingServiceJob.SCHEDULING_SERVICE, this); jobData.put(QuartzSchedulingServiceJob.SCHEDULED_JOB, job); // detail JobDetail jobDetail = JobBuilder.newJob(QuartzSchedulingServiceJob.class).withIdentity(name, null).usingJobData(jobData).build(); // Create trigger that fires indefinitely every <interval> milliseconds Trigger trigger = TriggerBuilder.newTrigger().withIdentity(String.format("Trigger_%s", name)).startAt(DateBuilder.futureDate(delay, IntervalUnit.MILLISECOND)).forJob(jobDetail).withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInMilliseconds(interval).repeatForever()).build(); // store keys by name TriggerKey tKey = trigger.getKey(); JobKey jKey = trigger.getJobKey(); log.debug("Job key: {} Trigger key: {}", jKey, tKey); ScheduledJobKey key = new ScheduledJobKey(tKey, jKey); keyMap.put(name, key); // schedule scheduleJob(trigger, jobDetail); return name; }
JobDataMap jobDataMap = new JobDataMap(); jobDataMap.put(QuartzConnector.PROPERTY_JOB_DYNAMIC, Boolean.TRUE); MuleMessage msg = event.getMessage(); jobDataMap.put(key, msg.getInvocationProperty(key)); JobDetail jobDetail = newJob(jobClass) .withIdentity(endpoint.getEndpointURI().getAddress() + "-" + event.getId(), groupName) .usingJobData(jobDataMap) .build(); TriggerBuilder triggerBuilder = newTrigger() .withIdentity(endpoint.getEndpointURI().toString() + "-" + event.getId(), groupName) .forJob(jobDetail.getKey().getName(), jobGroupName); triggerBuilder.withSchedule(simpleSchedule() .withIntervalInMilliseconds(Long.parseLong(repeatInterval)) .withRepeatCount(repeatCount != null ? Integer.parseInt(repeatCount) : SimpleTrigger.REPEAT_INDEFINITELY)); triggerBuilder.startAt(new Date(start)); scheduler.scheduleJob(jobDetail, triggerBuilder.build());
getScheduler().getContext().put(JOB_INITIALIZATION_PLUGIN_NAME + '_' + getName(), this); getScheduler().unscheduleJob(tKey); JobDetail job = newJob().withIdentity(jobTriggerName, JOB_INITIALIZATION_PLUGIN_NAME).ofType(FileScanJob.class) .usingJobData(FileScanJob.FILE_NAME, jobFile.getFileName()) .usingJobData(FileScanJob.FILE_SCAN_LISTENER_NAME, JOB_INITIALIZATION_PLUGIN_NAME + '_' + getName()) .build(); SimpleTrigger trig = newTrigger().withIdentity(tKey).withSchedule( simpleSchedule().repeatForever().withIntervalInMilliseconds(scanInterval)) .forJob(job) .build(); getScheduler().scheduleJob(job, trig); getLog().debug("Scheduled file scan job for data file: {}, at interval: {}", jobFile.getFileName(), scanInterval);
String key = getTrimmedToNullString(xpath, "q:key", entryNode); String value = getTrimmedToNullString(xpath, "q:value", entryNode); jobDetail.getJobDataMap().put(key, value); long repeatInterval = repeatIntervalString == null ? 0 : Long.parseLong(repeatIntervalString); sched = simpleSchedule() .withIntervalInMilliseconds(repeatInterval) .withRepeatCount(repeatCount); ((SimpleScheduleBuilder)sched).withMisfireHandlingInstructionFireNow(); else if(triggerMisfireInstructionConst.equals("MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT")) ((SimpleScheduleBuilder)sched).withMisfireHandlingInstructionNextWithExistingCount(); else if(triggerMisfireInstructionConst.equals("MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT")) ((SimpleScheduleBuilder)sched).withMisfireHandlingInstructionNextWithRemainingCount(); else if(triggerMisfireInstructionConst.equals("MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT")) ((SimpleScheduleBuilder)sched).withMisfireHandlingInstructionNowWithExistingCount(); else if(triggerMisfireInstructionConst.equals("MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT")) ((SimpleScheduleBuilder)sched).withMisfireHandlingInstructionNowWithRemainingCount(); else if(triggerMisfireInstructionConst.equals("MISFIRE_INSTRUCTION_SMART_POLICY")) { String key = getTrimmedToNullString(xpath, "q:key", entryNode); String value = getTrimmedToNullString(xpath, "q:value", entryNode); trigger.getJobDataMap().put(key, value);
for(String group: sched.getJobGroupNames()) { for(JobKey jobKey : sched.getJobKeys(jobGroupEquals(group))) { if(jobKey.getName().equals(itemName+"-"+provider.getValueSelector(itemName).toString())) { jobExists = true; JobDataMap map = new JobDataMap(); map.put("SerialPort", serialPort); map.put("ValueSelector",OceanicValueSelector.getValueSelector(provider.getValueSelector(itemName),ValueSelectorType.GET)); map.put("Binding",this); JobDetail job = newJob(OceanicBinding.PollJob.class) .withIdentity(itemName+"-"+provider.getValueSelector(itemName).toString(), "Oceanic-"+provider.toString()) .usingJobData(map) .build(); Trigger trigger = newTrigger() .withIdentity(itemName+"-"+provider.getValueSelector(itemName).toString(), "Oceanic-"+provider.toString()) .startNow() .withSchedule(simpleSchedule() .repeatForever() .withIntervalInSeconds(provider.getPollingInterval(itemName))) .build(); sched.scheduleJob(job, trigger); } catch (SchedulerException e) { logger.error("An exception occurred while scheduling a Quartz Job");
if (sched.isShutdown()) { throw new Exception("Scheduler already down"); if (sched.isStarted()) { logger.debug("Scheduler already running"); final JobDataMap jdm = new JobDataMap(); jdm.put("mailSource", mailSource); jdm.put("client", client); final JobDetail job = newJob(MailFlowJob.class) .usingJobData(jdm) .build(); logger.info("Trigger interval is every {} seconds", interval.seconds()); trigger = newTrigger() .startNow() .withSchedule(simpleSchedule().withIntervalInSeconds((int) interval.seconds()).repeatForever()).build(); } else { sched.scheduleJob(job, trigger);
scheduler.start(); JobDetail details = JobBuilder.newJob() .withIdentity("ThisIsATest") .ofType(job.getClass()) .build(); Trigger now = TriggerBuilder.newTrigger() .withIdentity("TestTrigger") .startAt(new Date(1)) .withSchedule(SimpleScheduleBuilder.simpleSchedule().withMisfireHandlingInstructionFireNow()) .build(); Scheduler scheduler = (Scheduler) applicationContext.getBean("schedulerFactory"); scheduler.scheduleJob(details, now);
public void addPeriodJob(JobInfo jinfo, int repeatCount, long period) throws Exception { int repeat; if (repeatCount < 0) repeat = SimpleTrigger.REPEAT_INDEFINITELY; else if (repeatCount == 0) repeat = SimpleTrigger.REPEAT_INDEFINITELY; else repeat = repeatCount - 1; JobInfo jobinfo = getJobInfo(jinfo); Trigger trigger = TriggerBuilder .newTrigger() .withIdentity(jobinfo.getJobName(), jobinfo.getGroupName()) .withSchedule( SimpleScheduleBuilder.simpleSchedule().withRepeatCount(repeat).withIntervalInMilliseconds(period)) .build(); @SuppressWarnings("unchecked") JobDetail job = JobBuilder.newJob(jobinfo.getJob()).withIdentity(jobinfo.getJobName(), jobinfo.getGroupName()) .withDescription(jinfo.getDescription()).build(); scheduleJob(job, trigger); }
logger.info("Preparing to schedule job to clean up after tickets..."); final JobDetail job = JobBuilder.newJob(getClass()) .withIdentity(getClass().getSimpleName().concat(UUID.randomUUID().toString())) .build(); final Trigger trigger = TriggerBuilder.newTrigger() .withIdentity(getClass().getSimpleName().concat(UUID.randomUUID().toString())) .startAt(DateTime.now().plusSeconds(this.startDelay).toDate()) .withSchedule(SimpleScheduleBuilder.simpleSchedule() .withIntervalInSeconds(this.refreshInterval) .repeatForever()).build(); scheduler.getContext().put(getClass().getSimpleName(), this.applicationContext.getBean("ticketRegistry", TicketRegistry.class)); scheduler.scheduleJob(job, trigger); logger.info("{} will clean tickets every {} minutes", this.getClass().getSimpleName(),
String triggerName = TRIGGER_NAME_PREFIX + name; SimpleScheduleBuilder scheduleBuilder = simpleSchedule() .withIntervalInSeconds(interval) .withRepeatCount(repeatCount); SimpleScheduleBuilder simpleScheduleBuilder = SimpleScheduleBuilder.simpleSchedule(); simpleScheduleBuilder.withMisfireHandlingInstructionFireNow(); simpleScheduleBuilder.withMisfireHandlingInstructionIgnoreMisfires(); simpleScheduleBuilder.withMisfireHandlingInstructionNextWithExistingCount(); simpleScheduleBuilder.withMisfireHandlingInstructionNextWithRemainingCount(); simpleScheduleBuilder.withMisfireHandlingInstructionNowWithExistingCount(); simpleScheduleBuilder.withMisfireHandlingInstructionNowWithRemainingCount(); simpleScheduleBuilder.withRepeatCount(repeatCount); scheduler.scheduleJob(jobDetail, trigger); } catch (SchedulerException e) { throw new JobSchedulerException(format("Unable to schedule job '%s'", name), e);
protected Trigger createStagedTrigger(int stageIntervalSec, int maxTimeForJobSec, Date startTime, JobId jobId) { return TriggerBuilder.newTrigger().withIdentity(triggerName(jobId), jobId.getGroup()) .forJob(jobId.getName(), jobId.getGroup()).startAt(startTime) .endAt(new Date(startTime.getTime() + maxTimeForJobSec * 1000)) .withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(stageIntervalSec).repeatForever()) .build(); }
public void start() { Trigger trigger; TriggerBuilder<Trigger> triggerBuilder = TriggerBuilder.newTrigger(). withIdentity(name + "-trigger-"); if (cronExpression == null || "".equals(cronExpression)) { trigger = triggerBuilder.withSchedule(SimpleScheduleBuilder.simpleSchedule() .withIntervalInMilliseconds(interval) .repeatForever()) .build(); } else { trigger = triggerBuilder.withSchedule(CronScheduleBuilder.cronSchedule(cronExpression)) .build(); } JobBuilder jobBuilder = getJobBuilder(); JobDataMap jobDataMap = getJobDataMap(); jobDataMap.put(MessageProcessorConsents.MESSAGE_STORE, configuration.getMessageStore(messageStore)); jobDataMap.put(MessageProcessorConsents.PARAMETERS, parameters); JobDetail jobDetail = jobBuilder.usingJobData(jobDataMap).build(); try { scheduler.scheduleJob(jobDetail, trigger); } catch (SchedulerException e) { throw new SynapseException("Error scheduling job : " + jobDetail + " with trigger " + trigger ,e); } }
JobDetail jobDetail = newJob(MotechScheduledJob.class) .withIdentity(jobId.value(), JOB_GROUP_NAME) .build(); SimpleScheduleBuilder simpleSchedule = simpleSchedule() .withRepeatCount(0) .withIntervalInSeconds(0) .withMisfireHandlingInstructionFireNow(); Trigger trigger = newTrigger() .withIdentity(triggerKey(jobId.value(), JOB_GROUP_NAME)) .forJob(jobDetail) .withSchedule(simpleSchedule) .startAt(jobStartDate)