@Override public void stop() { jobHandle.cancel( false ); }
@Override public ExecutorService build( Group group, SchedulerThreadFactory factory, int threadCount ) { throw newUnschedulableException( group ); }
@Override public void init() { fileWatchers = jobScheduler.threadFactory( Group.FILE_WATCHER ); }
@Override public void start() { handle = scheduler.schedule( Group.CHECKPOINT, job, recurringPeriodMillis, MILLISECONDS ); }
@Override public void start() { if ( checkIntervalMillis > 0 ) { monitorJobHandle = scheduler.scheduleRecurring( Group.TRANSACTION_TIMEOUT_MONITOR, kernelTransactionMonitor, checkIntervalMillis, TimeUnit.MILLISECONDS ); } }
private void startDeferredExecutors( JobScheduler jobScheduler, Iterable<Pair<DeferredExecutor,Group>> deferredExecutors ) { for ( Pair<DeferredExecutor,Group> executorGroupPair : deferredExecutors ) { DeferredExecutor executor = executorGroupPair.first(); Group group = executorGroupPair.other(); executor.satisfyWith( jobScheduler.executor( group ) ); } }
@Override public void setTopLevelGroupName( String name ) { delegate.setTopLevelGroupName( name ); }
public ExecutorService buildExecutorService( SchedulerThreadFactory factory ) { return executorServiceFactory.build( this, factory ); } }
@Override public ExecutorService build( Group group, SchedulerThreadFactory factory, int threadCount ) { return build( group, factory ); // Just ignore the thread count. } };
@Override public ExecutorService workStealingExecutorAsyncMode( Group group, int parallelism ) { return delegate.workStealingExecutorAsyncMode( group, parallelism ); }
@Override public void stop() throws Throwable { delegate.stop(); }
@Override public void shutdown() throws Throwable { delegate.shutdown(); }
@Override public ExecutorService workStealingExecutor( Group group, int parallelism ) { return delegate.workStealingExecutor( group, parallelism ); }
@Override public void start() throws Throwable { delegate.start(); }
@Override public void close() { shutdown(); }
@Override public ThreadFactory threadFactory( Group group ) { return delegate.threadFactory( group ); }
@Override public void start() { jobHandle = scheduler.scheduleRecurring( Group.STORAGE_MAINTENANCE, this::maintenance, 1, TimeUnit.SECONDS ); }
@Override public void stop() { if ( featureDecayJob != null ) { featureDecayJob.cancel( false ); } }
@Override public ExecutorService build( Group group, SchedulerThreadFactory factory ) { throw newUnschedulableException( group ); }
@Override public void stop() { if ( monitorJobHandle != null ) { monitorJobHandle.cancel( true ); } } }