public class SchedulerServiceProviderHolder
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static interface |
SchedulerServiceProviderHolder.SchedulerProvider
Provider for thread pools which allow scheduling capabilities.
|
Modifier and Type | Field and Description |
---|---|
private static SchedulerServiceProviderHolder.SchedulerProvider |
currentProvider |
static SchedulerServiceProviderHolder.SchedulerProvider |
DEFAULT_PROVIDER
The default provider will construct a new pool on every request.
|
Constructor and Description |
---|
SchedulerServiceProviderHolder() |
Modifier and Type | Method and Description |
---|---|
static java.util.concurrent.ThreadPoolExecutor |
getBulkScheduler() |
static java.util.concurrent.ScheduledExecutorService |
getFixedSizeScheduler(int initialThreadCount,
java.lang.String poolName)
Get a fixed sized scheduler directly with the current set provider.
|
static DynamicSizedSchedulerInterface |
getScheduler(int initialThreadCount,
java.lang.String poolName,
int maximumPoolSize)
Get a Dynamic sized scheduler directly with the current set provider.
|
static SchedulerServiceProviderHolder.SchedulerProvider |
getSchedulerProvider()
Get the currently set
SchedulerServiceProviderHolder.SchedulerProvider from set invocations via setSchedulerProvider(SchedulerProvider) . |
static java.util.concurrent.ScheduledExecutorService |
getTimeoutScheduler()
Get a scheduler to handle timeout.
|
static void |
setSchedulerProvider(SchedulerServiceProviderHolder.SchedulerProvider newProvider)
Change the current set scheduler provider.
|
public static final SchedulerServiceProviderHolder.SchedulerProvider DEFAULT_PROVIDER
private static volatile SchedulerServiceProviderHolder.SchedulerProvider currentProvider
public static SchedulerServiceProviderHolder.SchedulerProvider getSchedulerProvider()
SchedulerServiceProviderHolder.SchedulerProvider
from set invocations via setSchedulerProvider(SchedulerProvider)
. If none has been set a default provider will be
provided (never a null
result).public static void setSchedulerProvider(SchedulerServiceProviderHolder.SchedulerProvider newProvider)
getSchedulerProvider()
.newProvider
- New provider to use, or null
to use the default providerpublic static DynamicSizedSchedulerInterface getScheduler(int initialThreadCount, java.lang.String poolName, int maximumPoolSize)
initialThreadCount
- Number of threads scheduler is allowed to grow topoolName
- name of pool to identify threadsmaximumPoolSize
- maximum pool sizepublic static java.util.concurrent.ScheduledExecutorService getFixedSizeScheduler(int initialThreadCount, java.lang.String poolName)
initialThreadCount
- Number of threads scheduler is allowed to grow topoolName
- name of pool to identify threadspublic static java.util.concurrent.ScheduledExecutorService getTimeoutScheduler()
public static java.util.concurrent.ThreadPoolExecutor getBulkScheduler()