类 ConcurrentTaskScheduler
- 所有已实现的接口:
cn.taketoday.core.task.AsyncListenableTaskExecutor,cn.taketoday.core.task.AsyncTaskExecutor,cn.taketoday.core.task.TaskExecutor,SchedulingTaskExecutor,TaskScheduler,Executor
- 直接已知子类:
DefaultManagedTaskScheduler
java.util.concurrent.ScheduledExecutorService and
exposes a Framework TaskScheduler for it.
Extends ConcurrentTaskExecutor in order to implement the
SchedulingTaskExecutor interface as well.
Autodetects a JSR-236 ManagedScheduledExecutorService
in order to use it for trigger-based scheduling if possible, instead of
local trigger management which ends up delegating to regular delay-based scheduling
against the java.util.concurrent.ScheduledExecutorService API. For JSR-236 style
lookup in a Jakarta EE environment, consider using DefaultManagedTaskScheduler.
Note that there is a pre-built ThreadPoolTaskScheduler that allows for
defining a ScheduledThreadPoolExecutor in bean style,
exposing it as a Framework TaskScheduler directly.
This is a convenient alternative to a raw ScheduledThreadPoolExecutor definition with
a separate definition of the present adapter class.
- 从以下版本开始:
- 4.0
- 作者:
- Juergen Hoeller, Mark Fisher
- 另请参阅:
-
嵌套类概要
从类继承的嵌套类/接口 cn.taketoday.scheduling.concurrent.ConcurrentTaskExecutor
ConcurrentTaskExecutor.ManagedTaskBuilder -
字段概要
从接口继承的字段 cn.taketoday.core.task.AsyncTaskExecutor
TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE -
构造器概要
构造器构造器说明Create a new ConcurrentTaskScheduler, using a single thread executor as default.ConcurrentTaskScheduler(Executor concurrentExecutor, ScheduledExecutorService scheduledExecutor) Create a new ConcurrentTaskScheduler, using the givenExecutorandScheduledExecutorServiceas delegates.ConcurrentTaskScheduler(ScheduledExecutorService scheduledExecutor) Create a new ConcurrentTaskScheduler, using the givenScheduledExecutorServiceas shared delegate. -
方法概要
修饰符和类型方法说明getClock()Return the clock to use for scheduling purposes.Schedule the givenRunnable, invoking it whenever the trigger indicates a next execution time.Schedule the givenRunnable, invoking it at the specified execution time.scheduleAtFixedRate(Runnable task, Duration period) Schedule the givenRunnable, starting as soon as possible and invoking it with the given period.scheduleAtFixedRate(Runnable task, Instant startTime, Duration period) Schedule the givenRunnable, invoking it at the specified execution time and subsequently with the given period.scheduleWithFixedDelay(Runnable task, Duration delay) Schedule the givenRunnable, starting as soon as possible and invoking it with the given delay between the completion of one execution and the start of the next.scheduleWithFixedDelay(Runnable task, Instant startTime, Duration delay) Schedule the givenRunnable, invoking it at the specified execution time and subsequently with the given delay between the completion of one execution and the start of the next.voidSet the clock to use for scheduling purposes.voidsetErrorHandler(cn.taketoday.util.ErrorHandler errorHandler) Provide anErrorHandlerstrategy.voidsetScheduledExecutor(ScheduledExecutorService scheduledExecutor) Specify theScheduledExecutorServiceto delegate to.从类继承的方法 cn.taketoday.scheduling.concurrent.ConcurrentTaskExecutor
execute, execute, getConcurrentExecutor, setConcurrentExecutor, setTaskDecorator, submit, submit, submitListenable, submitListenable从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait从接口继承的方法 cn.taketoday.core.task.AsyncTaskExecutor
submitCompletable, submitCompletable从接口继承的方法 cn.taketoday.scheduling.SchedulingTaskExecutor
prefersShortLivedTasks从接口继承的方法 cn.taketoday.scheduling.TaskScheduler
schedule, scheduleAtFixedRate, scheduleAtFixedRate, scheduleWithFixedDelay, scheduleWithFixedDelay
-
构造器详细资料
-
ConcurrentTaskScheduler
public ConcurrentTaskScheduler()Create a new ConcurrentTaskScheduler, using a single thread executor as default. -
ConcurrentTaskScheduler
Create a new ConcurrentTaskScheduler, using the givenScheduledExecutorServiceas shared delegate.Autodetects a JSR-236
ManagedScheduledExecutorServicein order to use it for trigger-based scheduling if possible, instead of local trigger management.- 参数:
scheduledExecutor- theScheduledExecutorServiceto delegate to forSchedulingTaskExecutoras well asTaskSchedulerinvocations
-
ConcurrentTaskScheduler
public ConcurrentTaskScheduler(Executor concurrentExecutor, ScheduledExecutorService scheduledExecutor) Create a new ConcurrentTaskScheduler, using the givenExecutorandScheduledExecutorServiceas delegates.Autodetects a JSR-236
ManagedScheduledExecutorServicein order to use it for trigger-based scheduling if possible, instead of local trigger management.- 参数:
concurrentExecutor- theExecutorto delegate to forSchedulingTaskExecutorinvocationsscheduledExecutor- theScheduledExecutorServiceto delegate to forTaskSchedulerinvocations
-
-
方法详细资料
-
setScheduledExecutor
Specify theScheduledExecutorServiceto delegate to.Autodetects a JSR-236
ManagedScheduledExecutorServicein order to use it for trigger-based scheduling if possible, instead of local trigger management.Note: This will only apply to
TaskSchedulerinvocations. If you want the given executor to apply toSchedulingTaskExecutorinvocations as well, pass the same executor reference toConcurrentTaskExecutor.setConcurrentExecutor(java.util.concurrent.Executor). -
setErrorHandler
public void setErrorHandler(cn.taketoday.util.ErrorHandler errorHandler) Provide anErrorHandlerstrategy. -
setClock
Set the clock to use for scheduling purposes.The default clock is the system clock for the default time zone.
-
getClock
从接口复制的说明:TaskSchedulerReturn the clock to use for scheduling purposes.- 指定者:
getClock在接口中TaskScheduler- 另请参阅:
-
schedule
从接口复制的说明:TaskSchedulerSchedule the givenRunnable, invoking it whenever the trigger indicates a next execution time.Execution will end once the scheduler shuts down or the returned
ScheduledFuturegets cancelled.- 指定者:
schedule在接口中TaskScheduler- 参数:
task- the Runnable to execute whenever the trigger firestrigger- an implementation of theTriggerinterface, e.g. aCronTriggerobject wrapping a cron expression- 返回:
- a
ScheduledFuturerepresenting pending completion of the task, ornullif the given Trigger object never fires (i.e. returnsnullfromTrigger.nextExecutionTime(cn.taketoday.scheduling.TriggerContext)) - 另请参阅:
-
schedule
从接口复制的说明:TaskSchedulerSchedule the givenRunnable, invoking it at the specified execution time.Execution will end once the scheduler shuts down or the returned
ScheduledFuturegets cancelled.- 指定者:
schedule在接口中TaskScheduler- 参数:
task- the Runnable to execute whenever the trigger firesstartTime- the desired execution time for the task (if this is in the past, the task will be executed immediately, i.e. as soon as possible)- 返回:
- a
ScheduledFuturerepresenting pending completion of the task
-
scheduleAtFixedRate
从接口复制的说明:TaskSchedulerSchedule the givenRunnable, invoking it at the specified execution time and subsequently with the given period.Execution will end once the scheduler shuts down or the returned
ScheduledFuturegets cancelled.- 指定者:
scheduleAtFixedRate在接口中TaskScheduler- 参数:
task- the Runnable to execute whenever the trigger firesstartTime- the desired first execution time for the task (if this is in the past, the task will be executed immediately, i.e. as soon as possible)period- the interval between successive executions of the task- 返回:
- a
ScheduledFuturerepresenting pending completion of the task
-
scheduleAtFixedRate
从接口复制的说明:TaskSchedulerSchedule the givenRunnable, starting as soon as possible and invoking it with the given period.Execution will end once the scheduler shuts down or the returned
ScheduledFuturegets cancelled.- 指定者:
scheduleAtFixedRate在接口中TaskScheduler- 参数:
task- the Runnable to execute whenever the trigger firesperiod- the interval between successive executions of the task- 返回:
- a
ScheduledFuturerepresenting pending completion of the task
-
scheduleWithFixedDelay
从接口复制的说明:TaskSchedulerSchedule the givenRunnable, invoking it at the specified execution time and subsequently with the given delay between the completion of one execution and the start of the next.Execution will end once the scheduler shuts down or the returned
ScheduledFuturegets cancelled.- 指定者:
scheduleWithFixedDelay在接口中TaskScheduler- 参数:
task- the Runnable to execute whenever the trigger firesstartTime- the desired first execution time for the task (if this is in the past, the task will be executed immediately, i.e. as soon as possible)delay- the delay between the completion of one execution and the start of the next- 返回:
- a
ScheduledFuturerepresenting pending completion of the task
-
scheduleWithFixedDelay
从接口复制的说明:TaskSchedulerSchedule the givenRunnable, starting as soon as possible and invoking it with the given delay between the completion of one execution and the start of the next.Execution will end once the scheduler shuts down or the returned
ScheduledFuturegets cancelled.- 指定者:
scheduleWithFixedDelay在接口中TaskScheduler- 参数:
task- the Runnable to execute whenever the trigger firesdelay- the delay between the completion of one execution and the start of the next- 返回:
- a
ScheduledFuturerepresenting pending completion of the task - 另请参阅:
-