Class ActorSystemScheduledExecutorAdapter
- java.lang.Object
-
- org.apache.flink.runtime.concurrent.pekko.ActorSystemScheduledExecutorAdapter
-
- All Implemented Interfaces:
Executor
,ScheduledExecutor
public final class ActorSystemScheduledExecutorAdapter extends Object implements ScheduledExecutor
Adapter to use aActorSystem
as aScheduledExecutor
. Furthermore ensures that the context class loader is set to the Flink class loader while the runnable is running.
-
-
Constructor Summary
Constructors Constructor Description ActorSystemScheduledExecutorAdapter(org.apache.pekko.actor.ActorSystem actorSystem, ClassLoader flinkClassLoader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(Runnable command)
ScheduledFuture<?>
schedule(Runnable command, long delay, TimeUnit unit)
Executes the given command after the given delay.<V> ScheduledFuture<V>
schedule(Callable<V> callable, long delay, TimeUnit unit)
Executes the given callable after the given delay.ScheduledFuture<?>
scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)
Executes the given command periodically.ScheduledFuture<?>
scheduleWithFixedDelay(Runnable command, long initialDelay, long delay, TimeUnit unit)
Executed the given command repeatedly with the given delay between the end of an execution and the start of the next execution.
-
-
-
Constructor Detail
-
ActorSystemScheduledExecutorAdapter
public ActorSystemScheduledExecutorAdapter(org.apache.pekko.actor.ActorSystem actorSystem, ClassLoader flinkClassLoader)
-
-
Method Detail
-
schedule
@Nonnull public ScheduledFuture<?> schedule(@Nonnull Runnable command, long delay, @Nonnull TimeUnit unit)
Description copied from interface:ScheduledExecutor
Executes the given command after the given delay.- Specified by:
schedule
in interfaceScheduledExecutor
- Parameters:
command
- the task to execute in the futuredelay
- the time from now to delay the executionunit
- the time unit of the delay parameter- Returns:
- a ScheduledFuture representing the completion of the scheduled task
-
schedule
@Nonnull public <V> ScheduledFuture<V> schedule(@Nonnull Callable<V> callable, long delay, @Nonnull TimeUnit unit)
Description copied from interface:ScheduledExecutor
Executes the given callable after the given delay. The result of the callable is returned as aScheduledFuture
.- Specified by:
schedule
in interfaceScheduledExecutor
- Type Parameters:
V
- result type of the callable- Parameters:
callable
- the callable to executedelay
- the time from now to delay the executionunit
- the time unit of the delay parameter- Returns:
- a ScheduledFuture which holds the future value of the given callable
-
scheduleAtFixedRate
@Nonnull public ScheduledFuture<?> scheduleAtFixedRate(@Nonnull Runnable command, long initialDelay, long period, @Nonnull TimeUnit unit)
Description copied from interface:ScheduledExecutor
Executes the given command periodically. The first execution is started after theinitialDelay
, the second execution is started afterinitialDelay + period
, the third afterinitialDelay + 2*period
and so on. The task is executed until either an execution fails, or the returnedScheduledFuture
is cancelled.- Specified by:
scheduleAtFixedRate
in interfaceScheduledExecutor
- Parameters:
command
- the task to be executed periodicallyinitialDelay
- the time from now until the first execution is triggeredperiod
- the time after which the next execution is triggeredunit
- the time unit of the delay and period parameter- Returns:
- a ScheduledFuture representing the periodic task. This future never completes unless an execution of the given task fails or if the future is cancelled
-
scheduleWithFixedDelay
@Nonnull public ScheduledFuture<?> scheduleWithFixedDelay(@Nonnull Runnable command, long initialDelay, long delay, @Nonnull TimeUnit unit)
Description copied from interface:ScheduledExecutor
Executed the given command repeatedly with the given delay between the end of an execution and the start of the next execution. The task is executed repeatedly until either an exception occurs or if the returnedScheduledFuture
is cancelled.- Specified by:
scheduleWithFixedDelay
in interfaceScheduledExecutor
- Parameters:
command
- the task to execute repeatedlyinitialDelay
- the time from now until the first execution is triggereddelay
- the time between the end of the current and the start of the next executionunit
- the time unit of the initial delay and the delay parameter- Returns:
- a ScheduledFuture representing the repeatedly executed task. This future never completes unless the execution of the given task fails or if the future is cancelled
-
-