类 ConcurrentTaskScheduler
- java.lang.Object
- org.springframework.scheduling.concurrent.ConcurrentTaskExecutor
- org.springframework.scheduling.concurrent.ConcurrentTaskScheduler
- 所有已实现的接口:
Executor
,AsyncListenableTaskExecutor
,AsyncTaskExecutor
,TaskExecutor
,SchedulingTaskExecutor
,TaskScheduler
- 直接已知子类:
DefaultManagedTaskScheduler
public class ConcurrentTaskScheduler extends ConcurrentTaskExecutor implements TaskScheduler
Adapter that takes ajava.util.concurrent.ScheduledExecutorService
and exposes a SpringTaskScheduler
for it. ExtendsConcurrentTaskExecutor
in order to implement theSchedulingTaskExecutor
interface as well.Autodetects a JSR-236
ManagedScheduledExecutorService
in order to use it for trigger-based scheduling if possible, instead of Spring's local trigger management which ends up delegating to regular delay-based scheduling against thejava.util.concurrent.ScheduledExecutorService
API. For JSR-236 style lookup in a Java EE 7 environment, consider usingDefaultManagedTaskScheduler
.Note that there is a pre-built
ThreadPoolTaskScheduler
that allows for defining aScheduledThreadPoolExecutor
in bean style, exposing it as a SpringTaskScheduler
directly. This is a convenient alternative to a raw ScheduledThreadPoolExecutor definition with a separate definition of the present adapter class.- 从以下版本开始:
- 3.0
- 作者:
- Juergen Hoeller, Mark Fisher
- 另请参阅:
ScheduledExecutorService
,ScheduledThreadPoolExecutor
,Executors
,DefaultManagedTaskScheduler
,ThreadPoolTaskScheduler
嵌套类概要
从类继承的嵌套类/接口 org.springframework.scheduling.concurrent.ConcurrentTaskExecutor
ConcurrentTaskExecutor.ManagedTaskBuilder
字段概要
从接口继承的字段 org.springframework.core.task.AsyncTaskExecutor
TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE
构造器概要
构造器 构造器 说明 ConcurrentTaskScheduler()
Create a new ConcurrentTaskScheduler, using a single thread executor as default.ConcurrentTaskScheduler(Executor concurrentExecutor, ScheduledExecutorService scheduledExecutor)
Create a new ConcurrentTaskScheduler, using the givenExecutor
andScheduledExecutorService
as delegates.ConcurrentTaskScheduler(ScheduledExecutorService scheduledExecutor)
Create a new ConcurrentTaskScheduler, using the givenScheduledExecutorService
as shared delegate.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 ScheduledFuture<?>
schedule(Runnable task, Date startTime)
Schedule the givenRunnable
, invoking it at the specified execution time.ScheduledFuture<?>
schedule(Runnable task, Trigger trigger)
Schedule the givenRunnable
, invoking it whenever the trigger indicates a next execution time.ScheduledFuture<?>
scheduleAtFixedRate(Runnable task, long period)
Schedule the givenRunnable
, starting as soon as possible and invoking it with the given period.ScheduledFuture<?>
scheduleAtFixedRate(Runnable task, Date startTime, long period)
Schedule the givenRunnable
, invoking it at the specified execution time and subsequently with the given period.ScheduledFuture<?>
scheduleWithFixedDelay(Runnable task, long 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.ScheduledFuture<?>
scheduleWithFixedDelay(Runnable task, Date startTime, long 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.void
setErrorHandler(ErrorHandler errorHandler)
Provide anErrorHandler
strategy.void
setScheduledExecutor(ScheduledExecutorService scheduledExecutor)
Specify theScheduledExecutorService
to delegate to.从类继承的方法 org.springframework.scheduling.concurrent.ConcurrentTaskExecutor
execute, execute, getConcurrentExecutor, prefersShortLivedTasks, setConcurrentExecutor, setTaskDecorator, submit, submit, submitListenable, submitListenable
构造器详细资料
ConcurrentTaskScheduler
public ConcurrentTaskScheduler()
Create a new ConcurrentTaskScheduler, using a single thread executor as default.
ConcurrentTaskScheduler
public ConcurrentTaskScheduler(ScheduledExecutorService scheduledExecutor)
Create a new ConcurrentTaskScheduler, using the givenScheduledExecutorService
as shared delegate.Autodetects a JSR-236
ManagedScheduledExecutorService
in order to use it for trigger-based scheduling if possible, instead of Spring's local trigger management.- 参数:
scheduledExecutor
- theScheduledExecutorService
to delegate to forSchedulingTaskExecutor
as well asTaskScheduler
invocations
ConcurrentTaskScheduler
public ConcurrentTaskScheduler(Executor concurrentExecutor, ScheduledExecutorService scheduledExecutor)
Create a new ConcurrentTaskScheduler, using the givenExecutor
andScheduledExecutorService
as delegates.Autodetects a JSR-236
ManagedScheduledExecutorService
in order to use it for trigger-based scheduling if possible, instead of Spring's local trigger management.- 参数:
concurrentExecutor
- theExecutor
to delegate to forSchedulingTaskExecutor
invocationsscheduledExecutor
- theScheduledExecutorService
to delegate to forTaskScheduler
invocations
方法详细资料
setScheduledExecutor
public final void setScheduledExecutor(ScheduledExecutorService scheduledExecutor)
Specify theScheduledExecutorService
to delegate to.Autodetects a JSR-236
ManagedScheduledExecutorService
in order to use it for trigger-based scheduling if possible, instead of Spring's local trigger management.Note: This will only apply to
TaskScheduler
invocations. If you want the given executor to apply toSchedulingTaskExecutor
invocations as well, pass the same executor reference toConcurrentTaskExecutor.setConcurrentExecutor(java.util.concurrent.Executor)
.
setErrorHandler
public void setErrorHandler(ErrorHandler errorHandler)
Provide anErrorHandler
strategy.
schedule
public ScheduledFuture<?> schedule(Runnable task, Trigger trigger)
从接口复制的说明:TaskScheduler
Schedule the givenRunnable
, invoking it whenever the trigger indicates a next execution time.Execution will end once the scheduler shuts down or the returned
ScheduledFuture
gets cancelled.- 指定者:
schedule
在接口中TaskScheduler
- 参数:
task
- the Runnable to execute whenever the trigger firestrigger
- an implementation of theTrigger
interface, e.g. aCronTrigger
object wrapping a cron expression- 返回:
- a
ScheduledFuture
representing pending completion of the task, ornull
if the given Trigger object never fires (i.e. returnsnull
fromTrigger.nextExecutionTime(org.springframework.scheduling.TriggerContext)
) - 另请参阅:
CronTrigger
schedule
public ScheduledFuture<?> schedule(Runnable task, Date startTime)
从接口复制的说明:TaskScheduler
Schedule the givenRunnable
, invoking it at the specified execution time.Execution will end once the scheduler shuts down or the returned
ScheduledFuture
gets 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
ScheduledFuture
representing pending completion of the task
scheduleAtFixedRate
public ScheduledFuture<?> scheduleAtFixedRate(Runnable task, Date startTime, long period)
从接口复制的说明:TaskScheduler
Schedule 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
ScheduledFuture
gets 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 (in milliseconds)- 返回:
- a
ScheduledFuture
representing pending completion of the task
scheduleAtFixedRate
public ScheduledFuture<?> scheduleAtFixedRate(Runnable task, long period)
从接口复制的说明:TaskScheduler
Schedule 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
ScheduledFuture
gets cancelled.- 指定者:
scheduleAtFixedRate
在接口中TaskScheduler
- 参数:
task
- the Runnable to execute whenever the trigger firesperiod
- the interval between successive executions of the task (in milliseconds)- 返回:
- a
ScheduledFuture
representing pending completion of the task
scheduleWithFixedDelay
public ScheduledFuture<?> scheduleWithFixedDelay(Runnable task, Date startTime, long delay)
从接口复制的说明:TaskScheduler
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.Execution will end once the scheduler shuts down or the returned
ScheduledFuture
gets 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 (in milliseconds)- 返回:
- a
ScheduledFuture
representing pending completion of the task
scheduleWithFixedDelay
public ScheduledFuture<?> scheduleWithFixedDelay(Runnable task, long delay)
从接口复制的说明:TaskScheduler
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.Execution will end once the scheduler shuts down or the returned
ScheduledFuture
gets cancelled.- 指定者:
scheduleWithFixedDelay
在接口中TaskScheduler
- 参数:
task
- the Runnable to execute whenever the trigger firesdelay
- the interval between successive executions of the task (in milliseconds)- 返回:
- a
ScheduledFuture
representing pending completion of the task