public static class WorkManagerImpl.WorkThreadPoolExecutor extends ThreadPoolExecutor
ThreadPoolExecutor
that keeps available the list of running
tasks.
Completed tasks are passed to another queue.
The scheduled queue and completed list are passed as arguments and can have different implementations (in-memory, persisted, etc).
ThreadPoolExecutor.AbortPolicy, ThreadPoolExecutor.CallerRunsPolicy, ThreadPoolExecutor.DiscardOldestPolicy, ThreadPoolExecutor.DiscardPolicy
Constructor and Description |
---|
WorkManagerImpl.WorkThreadPoolExecutor(String queueId,
int corePoolSize,
int maximumPoolSize,
long keepAliveTime,
TimeUnit unit,
WorkQueuing queuing,
ThreadFactory threadFactory) |
Modifier and Type | Method and Description |
---|---|
boolean |
awaitTerminationOrSave(long timeout,
TimeUnit unit)
Blocks until all work instances have completed after a shutdown and
suspend request.
|
void |
execute(Runnable r) |
void |
execute(Work work)
Executes the given task sometime in the future.
|
int |
getScheduledOrRunningSize() |
Work |
removeScheduled(String workId) |
void |
shutdownAndSuspend()
Initiates a shutdown of this executor and asks for work instances to
suspend themselves.
|
allowCoreThreadTimeOut, allowsCoreThreadTimeOut, awaitTermination, getActiveCount, getCompletedTaskCount, getCorePoolSize, getKeepAliveTime, getLargestPoolSize, getMaximumPoolSize, getPoolSize, getQueue, getRejectedExecutionHandler, getTaskCount, getThreadFactory, isShutdown, isTerminated, isTerminating, prestartAllCoreThreads, prestartCoreThread, purge, remove, setCorePoolSize, setKeepAliveTime, setMaximumPoolSize, setRejectedExecutionHandler, setThreadFactory, shutdown, shutdownNow, toString
public WorkManagerImpl.WorkThreadPoolExecutor(String queueId, int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, WorkQueuing queuing, ThreadFactory threadFactory)
public int getScheduledOrRunningSize()
public void execute(Runnable r)
execute
in interface Executor
execute
in class ThreadPoolExecutor
public void execute(Work work)
work
- the work to executeexecute(Runnable)
public void shutdownAndSuspend()
public boolean awaitTerminationOrSave(long timeout, TimeUnit unit) throws InterruptedException
timeout
- the time to waitunit
- the timeout unitInterruptedException
Copyright © 2013 Nuxeo SA. All Rights Reserved.