@InterfaceAudience.Private public class ExecutorService extends Object
EventType
s can be submitted,
and a Runnable
that handles the object that is added to the queue.
In order to create a new service, create an instance of this class and
then do: instance.startExecutorService("myService");
. When done
call shutdown()
.
In order to use the service created above, call
submit(EventHandler)
.
Modifier and Type | Class and Description |
---|---|
(package private) static class |
ExecutorService.Executor
Executor instance.
|
static class |
ExecutorService.ExecutorStatus
A snapshot of the status of a particular executor.
|
static class |
ExecutorService.RunningEventStatus
The status of a particular event that is in the middle of being
handled by an executor.
|
(package private) static class |
ExecutorService.TrackingThreadPoolExecutor
A subclass of ThreadPoolExecutor that keeps track of the Runnables that
are executing at any given point in time.
|
Modifier and Type | Field and Description |
---|---|
private ConcurrentHashMap<String,ExecutorService.Executor> |
executorMap |
private static org.slf4j.Logger |
LOG |
private String |
servername |
Constructor and Description |
---|
ExecutorService(String servername)
Default constructor.
|
Modifier and Type | Method and Description |
---|---|
Map<String,ExecutorService.ExecutorStatus> |
getAllExecutorStatuses() |
(package private) ExecutorService.Executor |
getExecutor(ExecutorType type) |
(package private) ExecutorService.Executor |
getExecutor(String name) |
ThreadPoolExecutor |
getExecutorLazily(ExecutorType type,
int maxThreads)
Initialize the executor lazily, Note if an executor need to be initialized lazily, then all
paths should use this method to get the executor, should not start executor by using
startExecutorService(ExecutorType, int) |
ThreadPoolExecutor |
getExecutorThreadPool(ExecutorType type) |
(package private) boolean |
isExecutorServiceRunning(String name) |
void |
shutdown() |
void |
startExecutorService(ExecutorType type,
int maxThreads) |
void |
startExecutorService(String name,
int maxThreads)
Start an executor service with a given name.
|
void |
submit(EventHandler eh) |
private static final org.slf4j.Logger LOG
private final ConcurrentHashMap<String,ExecutorService.Executor> executorMap
private final String servername
public ExecutorService(String servername)
servername
- Name of the hosting server.public void startExecutorService(String name, int maxThreads)
name
- Name of the service to start.boolean isExecutorServiceRunning(String name)
public void shutdown()
ExecutorService.Executor getExecutor(ExecutorType type)
ExecutorService.Executor getExecutor(String name)
public ThreadPoolExecutor getExecutorThreadPool(ExecutorType type)
public void startExecutorService(ExecutorType type, int maxThreads)
public ThreadPoolExecutor getExecutorLazily(ExecutorType type, int maxThreads)
startExecutorService(ExecutorType, int)
public void submit(EventHandler eh)
public Map<String,ExecutorService.ExecutorStatus> getAllExecutorStatuses()
Copyright © 2007–2019 The Apache Software Foundation. All rights reserved.