OperableTrigger trigger = (OperableTrigger)TriggerBuilder .newTrigger() .withIdentity("trigger1", "group1") .withSchedule( SimpleScheduleBuilder.simpleSchedule() .withIntervalInSeconds(5).repeatForever() ) .build(); Date startDate = new Date(); Date endDate = new Date(startDate.getTime() + 1000000); List<Date> dateList = TriggerUtils.computeFireTimesBetween(trigger, new BaseCalendar(), startDate, endDate); System.out.println("******Times**********"); for(Date date : dateList) { System.out.println(date.toString()); } System.out.println("*********************");
CronTrigger trigger = newTrigger() .withSchedule(cronSchedule(cronExpression)) .build(); Date endDate = TriggerUtils.computeEndTimeToAllowParticularNumberOfFirings((OperableTrigger) trigger, new BaseCalendar(Calendar.getInstance().getTimeZone()), 10); trigger = trigger.getTriggerBuilder().endAt(endDate).build();
/** * Utility method. Return just the date of timeStamp. The time fraction * will be reset to 00.00:00. * * @deprecated Always uses the default time zone. */ public static long buildHoliday(long timeStamp) { return new BaseCalendar().getStartOfDayJavaCalendar(timeStamp).getTime().getTime(); }
/** * Utility method. Return the date of excludeDate. The time fraction will * be reset to 00.00:00. * * @deprecated Always uses the default time zone. */ public static Date buildHoliday(Date excludedDate) { return new BaseCalendar().getStartOfDayJavaCalendar(excludedDate.getTime()).getTime(); }
/** * Utility method. Return just the date of timeStamp. The time fraction * will be reset to 00.00:00. * * @deprecated Always uses the default time zone. */ public static long buildHoliday(long timeStamp) { return new BaseCalendar().getStartOfDayJavaCalendar(timeStamp).getTime().getTime(); }
/** * Utility method. Return a java.util.Calendar for timeStamp. * * @deprecated Always uses the default time zone. */ public static java.util.Calendar getJavaCalendar(long timeStamp) { return new BaseCalendar().createJavaCalendar(timeStamp); }
/** * Utility method. Return the date of excludeDate. The time fraction will * be reset to 00.00:00. * * @deprecated Always uses the default time zone. */ public static Date buildHoliday(Date excludedDate) { return new BaseCalendar().getStartOfDayJavaCalendar(excludedDate.getTime()).getTime(); }
/** * Utility method. Return a java.util.Calendar for timeStamp. * * @deprecated Always uses the default time zone. */ public static java.util.Calendar getJavaCalendar(long timeStamp) { return new BaseCalendar().createJavaCalendar(timeStamp); }
try { CronTriggerImpl cron = new CronTriggerImpl(); cron.setStartTime(new Date()); cron.setCronExpression("0 0/0 * * * ?"); BaseCalendar calendar = new BaseCalendar(); List<Date> result = TriggerUtils.computeFireTimesBetween(cron, calendar, new Date(),DateBuilder.futureDate(1, IntervalUnit.DAY)); for (Date date : result) { System.out.println(date); } } catch (ParseException e) { e.printStackTrace(); }
private boolean initializeTrigger(final Node triggerNode) throws RepositoryException { boolean changes = false; final OperableTrigger trigger = getOperableTrigger(triggerNode, null); if (trigger != null) { final Date nextFireTime = trigger.computeFirstFireTime(new BaseCalendar()); if (nextFireTime != null) { final java.util.Calendar currentFireTime = JcrUtils.getDateProperty(triggerNode, HIPPOSCHED_NEXTFIRETIME, null); if (currentFireTime == null || nextFireTime.getTime() != currentFireTime.getTime().getTime()) { log.info("Initializing trigger {}", triggerNode.getPath()); triggerNode.setProperty(HIPPOSCHED_NEXTFIRETIME, dateToCalendar(nextFireTime)); changes = true; } } else { log.warn("No fire time for manually added trigger {}", triggerNode.getPath()); } } return changes; }
@Override public List<Date> getScheduledJobTimingsWithPrefix( String subject, String externalJobIdPrefix, Date startDate, Date endDate) { JobId jobId = new CronJobId(subject, externalJobIdPrefix); List<Date> messageTimings = new ArrayList<>(); try { List<TriggerKey> triggerKeys = new ArrayList<TriggerKey>( scheduler.getTriggerKeys(GroupMatcher.triggerGroupContains(JOB_GROUP_NAME))); for (TriggerKey triggerKey : triggerKeys) { if (StringUtils.isNotEmpty(externalJobIdPrefix) && triggerKey.getName().contains(jobId.value())) { Trigger trigger = scheduler.getTrigger(triggerKey); messageTimings.addAll(TriggerUtils.computeFireTimesBetween( (OperableTrigger) trigger, new BaseCalendar(), startDate, endDate)); } } } catch (SchedulerException e) { handleException(String.format( "Can not get scheduled job timings given subject and externalJobIdPrefix for dates : %s %s %s %s %s", subject, externalJobIdPrefix, startDate.toString(), endDate.toString(), e.getMessage()), e); } return messageTimings; }
@Override public List<Date> getScheduledJobTimings(String subject, String externalJobId, Date startDate, Date endDate) { JobId jobId = new CronJobId(subject, externalJobId); Trigger trigger; List<Date> messageTimings = null; try { trigger = scheduler.getTrigger(triggerKey(jobId.value(), JOB_GROUP_NAME)); messageTimings = TriggerUtils.computeFireTimesBetween( (OperableTrigger) trigger, new BaseCalendar(), startDate, endDate); } catch (SchedulerException e) { handleException(String.format( "Can not get scheduled job timings given subject and externalJobId for dates : %s %s %s %s %s", subject, externalJobId, startDate.toString(), endDate.toString(), e.getMessage()), e); } return messageTimings; }