List of usage examples for org.springframework.scheduling Trigger Trigger
Trigger
From source file:org.zenoss.zep.impl.TriggerPlugin.java
private void scheduleSpool() { if (spoolFuture != null) { spoolFuture.cancel(false);//from w w w.j a v a 2 s.co m } Trigger trigger = new Trigger() { @Override public Date nextExecutionTime(TriggerContext triggerContext) { Date nextExecution = null; try { long nextFlushTime = signalSpoolDao.getNextFlushTime(); if (nextFlushTime > 0) { nextExecution = new Date(nextFlushTime); logger.debug("Next flush time: {}", nextExecution); } } catch (Exception e) { logger.warn("Exception getting next flush time", e); } if (nextExecution == null) { nextExecution = new Date(System.currentTimeMillis() + MAXIMUM_DELAY_MS); } return nextExecution; } }; Runnable runnable = new ThreadRenamingRunnable(new Runnable() { @Override public void run() { processSpool(System.currentTimeMillis()); } }, "ZEP_TRIGGER_PLUGIN_SPOOL"); spoolFuture = scheduler.schedule(runnable, trigger); }