|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ExecutorServiceManager
Strategy to create thread pools.
This manager is pluggable so you can plugin a custom provider, for example if you want to leverage the WorkManager for a JEE server. You may want to just implement a customThreadPoolFactory
and rely on the
DefaultExecutorServiceManager
, if that is sufficient. The ThreadPoolFactory
is always used for creating the actual thread pools. You can implement a custom ThreadPoolFactory
to leverage the WorkManager for a JEE server.
The ThreadPoolFactory
has pure JDK API, where as this ExecutorServiceManager
has Camel API
concepts such as ThreadPoolProfile
. Therefore it may be easier to only implement a custom
ThreadPoolFactory
.
This manager has fine grained methods for creating various thread pools, however custom strategies
do not have to exactly create those kind of pools. Feel free to return a shared or different kind of pool.
If you use the newXXX methods to create thread pools, then Camel will by default take care of
shutting down those created pools when CamelContext
is shutting down.
ThreadPoolFactory
Method Summary | |
---|---|
ThreadPoolProfile |
getDefaultThreadPoolProfile()
Gets the default thread pool profile |
String |
getThreadNamePattern()
Gets the thread name patter to use |
ThreadPoolFactory |
getThreadPoolFactory()
Gets the ThreadPoolFactory to use for creating the thread pools. |
ThreadPoolProfile |
getThreadPoolProfile(String id)
Gets the thread pool profile by the given id |
ExecutorService |
newCachedThreadPool(Object source,
String name)
Creates a new cached thread pool. |
ScheduledExecutorService |
newDefaultScheduledThreadPool(Object source,
String name)
Creates a new scheduled thread pool using the default thread pool profile. |
ExecutorService |
newDefaultThreadPool(Object source,
String name)
Creates a new thread pool using the default thread pool profile. |
ExecutorService |
newFixedThreadPool(Object source,
String name,
int poolSize)
Creates a new fixed thread pool. |
ScheduledExecutorService |
newScheduledThreadPool(Object source,
String name,
int poolSize)
Creates a new scheduled thread pool. |
ScheduledExecutorService |
newScheduledThreadPool(Object source,
String name,
String profileId)
Creates a new scheduled thread pool using a profile id |
ScheduledExecutorService |
newScheduledThreadPool(Object source,
String name,
ThreadPoolProfile profile)
Creates a new scheduled thread pool using a profile |
ExecutorService |
newSingleThreadExecutor(Object source,
String name)
Creates a new single-threaded thread pool. |
ScheduledExecutorService |
newSingleThreadScheduledExecutor(Object source,
String name)
Creates a new single-threaded thread pool. |
ExecutorService |
newThreadPool(Object source,
String name,
int poolSize,
int maxPoolSize)
Creates a new thread pool. |
ExecutorService |
newThreadPool(Object source,
String name,
String profileId)
Creates a new thread pool using using the given profile id |
ExecutorService |
newThreadPool(Object source,
String name,
ThreadPoolProfile profile)
Creates a new thread pool using the given profile |
void |
registerThreadPoolProfile(ThreadPoolProfile profile)
Registers the given thread pool profile |
String |
resolveThreadName(String name)
Creates a full thread name |
void |
setDefaultThreadPoolProfile(ThreadPoolProfile defaultThreadPoolProfile)
Sets the default thread pool profile |
void |
setThreadNamePattern(String pattern)
Sets the thread name pattern used for creating the full thread name. |
void |
setThreadPoolFactory(ThreadPoolFactory threadPoolFactory)
Sets a custom ThreadPoolFactory to use |
void |
shutdown(ExecutorService executorService)
Shutdown the given executor service. |
List<Runnable> |
shutdownNow(ExecutorService executorService)
Shutdown now the given executor service. |
Methods inherited from interface org.apache.camel.ShutdownableService |
---|
shutdown |
Methods inherited from interface org.apache.camel.Service |
---|
start, stop |
Method Detail |
---|
ThreadPoolFactory getThreadPoolFactory()
ThreadPoolFactory
to use for creating the thread pools.
void setThreadPoolFactory(ThreadPoolFactory threadPoolFactory)
ThreadPoolFactory
to use
threadPoolFactory
- the thread pool factoryString resolveThreadName(String name)
name
- name which is appended to the full thread name
ThreadPoolProfile getThreadPoolProfile(String id)
id
- id of the thread pool profile to get
void registerThreadPoolProfile(ThreadPoolProfile profile)
profile
- the profilevoid setDefaultThreadPoolProfile(ThreadPoolProfile defaultThreadPoolProfile)
defaultThreadPoolProfile
- the new default thread pool profileThreadPoolProfile getDefaultThreadPoolProfile()
void setThreadNamePattern(String pattern) throws IllegalArgumentException
CamelContext
pattern
- the pattern
IllegalArgumentException
- if the pattern is invalid.String getThreadNamePattern()
ExecutorService newDefaultThreadPool(Object source, String name)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread name
ScheduledExecutorService newDefaultScheduledThreadPool(Object source, String name)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread name
ExecutorService newThreadPool(Object source, String name, ThreadPoolProfile profile)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread nameprofile
- the profile with the thread pool settings to use
ExecutorService newThreadPool(Object source, String name, String profileId)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread nameprofileId
- the id of the profile with the thread pool settings to use
ExecutorService newThreadPool(Object source, String name, int poolSize, int maxPoolSize)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread namepoolSize
- the core pool sizemaxPoolSize
- the maximum pool size
ExecutorService newSingleThreadExecutor(Object source, String name)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread name
ExecutorService newCachedThreadPool(Object source, String name)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread name
ExecutorService newFixedThreadPool(Object source, String name, int poolSize)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread namepoolSize
- the core pool size
ScheduledExecutorService newScheduledThreadPool(Object source, String name, int poolSize)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread namepoolSize
- the core pool size
ScheduledExecutorService newSingleThreadScheduledExecutor(Object source, String name)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread name
ScheduledExecutorService newScheduledThreadPool(Object source, String name, ThreadPoolProfile profile)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread nameprofile
- the profile with the thread pool settings to use
ScheduledExecutorService newScheduledThreadPool(Object source, String name, String profileId)
source
- the source object, usually it should be this passed in as parametername
- name which is appended to the thread nameprofileId
- the id of the profile with the thread pool settings to use
void shutdown(ExecutorService executorService)
executorService
- the executor service to shutdownExecutorService.shutdown()
List<Runnable> shutdownNow(ExecutorService executorService)
executorService
- the executor service to shutdown now
ExecutorService.shutdownNow()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |