void removeSchedule(CronJob s) { synchronized (crons) { for (Iterator<Cron> cron = crons.iterator(); cron.hasNext();) { final Cron c = cron.next(); if (c.target == s) { cron.remove(); c.schedule.cancel(true); } } } }
@Override public long getDelay(@Nullable TimeUnit timeUnit) { return scheduledPromise == null ? 0 : scheduledPromise.getDelay(timeUnit); } }
void setScheduledPromise(ScheduledCompletableFuture<T> future) { synchronized (this) { if (isCancelled()) { // if already cancelled stop the new future directly. future.cancel(true); } else { scheduledPromise = future; scheduledPromise.getPromise().exceptionally(ex -> { // if an error occurs in the scheduled job propagate to parent ScheduledCompletableFutureRecurring.this.completeExceptionally(ex); return null; }); } } }
private <T> ScheduledCompletableFuture<T> add(ScheduledCompletableFuture<T> t) { synchronized (scheduledJobs) { scheduledJobs.add(t); } t.getPromise().handle((v, e) -> { synchronized (scheduledJobs) { scheduledJobs.remove(t); return v; } }); return t; }
private <T> ScheduledCompletableFuture<T> add(ScheduledCompletableFuture<T> t) { synchronized (scheduledJobs) { scheduledJobs.add(t); } t.getPromise().handle((v, e) -> { synchronized (scheduledJobs) { scheduledJobs.remove(t); return v; } }); return t; }
public ScheduledCompletableFutureRecurring() { exceptionally(e -> { synchronized (this) { if (e instanceof CancellationException) { if (scheduledPromise != null) { scheduledPromise.cancel(true); } } } return null; }); }
void setScheduledPromise(ScheduledCompletableFuture<T> future) { synchronized (this) { if (isCancelled()) { // if already cancelled stop the new future directly. future.cancel(true); } else { scheduledPromise = future; scheduledPromise.getPromise().exceptionally(ex -> { // if an error occurs in the scheduled job propagate to parent ScheduledCompletableFutureRecurring.this.completeExceptionally(ex); return null; }); } } }
@Override public long getDelay(@Nullable TimeUnit timeUnit) { return scheduledPromise == null ? 0 : scheduledPromise.getDelay(timeUnit); } }
@Deactivate void deactivate() { while (!scheduledJobs.isEmpty()) { final ScheduledCompletableFuture<?> scheduledJob; synchronized (scheduledJobs) { if (scheduledJobs.isEmpty()) { return; } Iterator<ScheduledCompletableFuture<?>> iterator = scheduledJobs.iterator(); scheduledJob = iterator.next(); iterator.remove(); } scheduledJob.cancel(true); } }
void removeSchedule(CronJob s) { synchronized (crons) { for (Iterator<Cron> cron = crons.iterator(); cron.hasNext();) { final Cron c = cron.next(); if (c.target == s) { cron.remove(); c.schedule.cancel(true); } } } }
/** * Delete all {@link Job}s of the group <code>dbId</code> * * @throws SchedulerException if there is an internal Scheduler error. */ private void removeTimers(String dbId) { if (!persistenceJobs.containsKey(dbId)) { return; } for (final ScheduledCompletableFuture<?> job : persistenceJobs.get(dbId)) { job.cancel(true); logger.debug("Removed scheduled cron job for persistence service '{}'", dbId); } persistenceJobs.remove(dbId); }
public ScheduledCompletableFutureRecurring() { exceptionally(e -> { synchronized (this) { if (e instanceof CancellationException) { if (scheduledPromise != null) { scheduledPromise.cancel(true); } } } return null; }); }
@Deactivate void deactivate() { while (!scheduledJobs.isEmpty()) { final ScheduledCompletableFuture<?> scheduledJob; synchronized (scheduledJobs) { if (scheduledJobs.isEmpty()) { return; } Iterator<ScheduledCompletableFuture<?>> iterator = scheduledJobs.iterator(); scheduledJob = iterator.next(); iterator.remove(); } scheduledJob.cancel(true); } }
@Override public synchronized void dispose() { super.dispose(); if (schedule != null) { schedule.cancel(true); logger.debug("cancelled job for trigger '{}'.", module.getId()); } } }
@Override public synchronized void dispose() { super.dispose(); if (schedule != null) { schedule.cancel(true); logger.debug("cancelled job for trigger '{}'.", module.getId()); } }