Package org.apache.sling.commons.threads
Class ModifiableThreadPoolConfig
- java.lang.Object
-
- org.apache.sling.commons.threads.ModifiableThreadPoolConfig
-
- All Implemented Interfaces:
ThreadPoolConfig
@ProviderType public final class ModifiableThreadPoolConfig extends java.lang.Object implements ThreadPoolConfig
This is a modifiable thread pool configuration that can be instantiated and then configured to create a new thread pool. The default values for this configuration are: - min pool size: 5 - max pool size: 5 - queue size: -1 - keep alive time: 60000 - block policy: RUN - shutdown graceful: true - shutdown wait time: -1 - priority: NORM - daemon: false - factory: null (= default jvm thread factory)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.sling.commons.threads.ThreadPoolConfig
ThreadPoolConfig.ThreadPoolPolicy, ThreadPoolConfig.ThreadPriority
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPROPERTY_BLOCK_POLICYConfiguration property for the block policy.static java.lang.StringPROPERTY_DAEMONConfiguration property for the daemon flag.static java.lang.StringPROPERTY_KEEP_ALIVE_TIMEConfiguration property for the keep alive time.static java.lang.StringPROPERTY_MAX_POOL_SIZEConfiguration property for the max pool size.static java.lang.StringPROPERTY_MAX_THREAD_AGEConfiguration property for the max thread age.static java.lang.StringPROPERTY_MIN_POOL_SIZEConfiguration property for the min pool size.static java.lang.StringPROPERTY_NAMEConfiguration property for the thread pool name.static java.lang.StringPROPERTY_PRIORITYConfiguration property for the priority.static java.lang.StringPROPERTY_QUEUE_SIZEConfiguration property for the queue size.static java.lang.StringPROPERTY_SHUTDOWN_GRACEFULConfiguration property for the shutdown graceful flag.static java.lang.StringPROPERTY_SHUTDOWN_WAIT_TIMEConfiguration property for the shutdown wait time.
-
Constructor Summary
Constructors Constructor Description ModifiableThreadPoolConfig()Create a new default configuration.ModifiableThreadPoolConfig(ThreadPoolConfig copy)Clone an existing configuration
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)ThreadPoolConfig.ThreadPoolPolicygetBlockPolicy()Return the block policy.java.util.concurrent.ThreadFactorygetFactory()Return the thread pool factory.longgetKeepAliveTime()Return the keep alive time.intgetMaxPoolSize()Return the maximum pool sizelonggetMaxThreadAge()Return the maximum age before a thread is retired.intgetMinPoolSize()Return the minimum pool size.ThreadPoolConfig.ThreadPrioritygetPriority()Return the priority for the threads.intgetQueueSize()Return the queue size.intgetShutdownWaitTimeMs()Return the shutdown wait time in ms.inthashCode()booleanisDaemon()Return if daemon threads should be created.booleanisShutdownGraceful()Should this pool shutdown graceful.voidsetBlockPolicy(ThreadPoolConfig.ThreadPoolPolicy blockPolicy)Set the block policy.voidsetDaemon(boolean isDaemon)Set the daemon handling.voidsetFactory(java.util.concurrent.ThreadFactory factory)Set the thread factory.voidsetKeepAliveTime(long keepAliveTime)Set the keep alive time.voidsetMaxPoolSize(int maxPoolSize)Set the max pool size.voidsetMaxThreadAge(long maxThreadAge)Deprecated.Since version 3.4.0 should no longer be called, as threads are no longer retired but instead the thread locals are cleaned up (SLING-6261)voidsetMinPoolSize(int minPoolSize)Set the min pool size.voidsetPriority(ThreadPoolConfig.ThreadPriority priority)Set the thread priority.voidsetQueueSize(int queueSize)Set the queue size.voidsetShutdownGraceful(boolean shutdownGraceful)Set if the pool should be shutdown graceful.voidsetShutdownWaitTimeMs(int shutdownWaitTimeMs)Set the shutdown wait time.
-
-
-
Field Detail
-
PROPERTY_MIN_POOL_SIZE
public static final java.lang.String PROPERTY_MIN_POOL_SIZE
Configuration property for the min pool size.- See Also:
- Constant Field Values
-
PROPERTY_MAX_POOL_SIZE
public static final java.lang.String PROPERTY_MAX_POOL_SIZE
Configuration property for the max pool size.- See Also:
- Constant Field Values
-
PROPERTY_QUEUE_SIZE
public static final java.lang.String PROPERTY_QUEUE_SIZE
Configuration property for the queue size.- See Also:
- Constant Field Values
-
PROPERTY_MAX_THREAD_AGE
public static final java.lang.String PROPERTY_MAX_THREAD_AGE
Configuration property for the max thread age.- See Also:
- Constant Field Values
-
PROPERTY_KEEP_ALIVE_TIME
public static final java.lang.String PROPERTY_KEEP_ALIVE_TIME
Configuration property for the keep alive time.- See Also:
- Constant Field Values
-
PROPERTY_BLOCK_POLICY
public static final java.lang.String PROPERTY_BLOCK_POLICY
Configuration property for the block policy.- See Also:
- Constant Field Values
-
PROPERTY_SHUTDOWN_GRACEFUL
public static final java.lang.String PROPERTY_SHUTDOWN_GRACEFUL
Configuration property for the shutdown graceful flag.- See Also:
- Constant Field Values
-
PROPERTY_SHUTDOWN_WAIT_TIME
public static final java.lang.String PROPERTY_SHUTDOWN_WAIT_TIME
Configuration property for the shutdown wait time.- See Also:
- Constant Field Values
-
PROPERTY_PRIORITY
public static final java.lang.String PROPERTY_PRIORITY
Configuration property for the priority.- See Also:
- Constant Field Values
-
PROPERTY_DAEMON
public static final java.lang.String PROPERTY_DAEMON
Configuration property for the daemon flag.- See Also:
- Constant Field Values
-
PROPERTY_NAME
public static final java.lang.String PROPERTY_NAME
Configuration property for the thread pool name.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ModifiableThreadPoolConfig
public ModifiableThreadPoolConfig()
Create a new default configuration.
-
ModifiableThreadPoolConfig
public ModifiableThreadPoolConfig(ThreadPoolConfig copy)
Clone an existing configuration- Parameters:
copy- The config to clone
-
-
Method Detail
-
getMinPoolSize
public int getMinPoolSize()
Description copied from interface:ThreadPoolConfigReturn the minimum pool size.- Specified by:
getMinPoolSizein interfaceThreadPoolConfig- Returns:
- The minimum pool size.
- See Also:
ThreadPoolConfig.getMinPoolSize()
-
setMinPoolSize
public void setMinPoolSize(int minPoolSize)
Set the min pool size.- Parameters:
minPoolSize- New min pool size.
-
getMaxPoolSize
public int getMaxPoolSize()
Description copied from interface:ThreadPoolConfigReturn the maximum pool size- Specified by:
getMaxPoolSizein interfaceThreadPoolConfig- Returns:
- The maximum pool size.
- See Also:
ThreadPoolConfig.getMaxPoolSize()
-
setMaxPoolSize
public void setMaxPoolSize(int maxPoolSize)
Set the max pool size.- Parameters:
maxPoolSize- New max pool size.
-
getQueueSize
public int getQueueSize()
Description copied from interface:ThreadPoolConfigReturn the queue size.- Specified by:
getQueueSizein interfaceThreadPoolConfig- Returns:
- The queue size.
- See Also:
ThreadPoolConfig.getQueueSize()
-
setQueueSize
public void setQueueSize(int queueSize)
Set the queue size.- Parameters:
queueSize- New queue size.
-
getMaxThreadAge
public long getMaxThreadAge()
Description copied from interface:ThreadPoolConfigReturn the maximum age before a thread is retired.- Specified by:
getMaxThreadAgein interfaceThreadPoolConfig- Returns:
- The maximum age of a thread in milliseconds.
-
setMaxThreadAge
public void setMaxThreadAge(long maxThreadAge)
Deprecated.Since version 3.4.0 should no longer be called, as threads are no longer retired but instead the thread locals are cleaned up (SLING-6261)Set the max thread age.- Parameters:
maxThreadAge- New max thread age in milliseconds.
-
getKeepAliveTime
public long getKeepAliveTime()
Description copied from interface:ThreadPoolConfigReturn the keep alive time.- Specified by:
getKeepAliveTimein interfaceThreadPoolConfig- Returns:
- The keep alive time.
- See Also:
ThreadPoolConfig.getKeepAliveTime()
-
setKeepAliveTime
public void setKeepAliveTime(long keepAliveTime)
Set the keep alive time.- Parameters:
keepAliveTime- New keep alive time.
-
getBlockPolicy
public ThreadPoolConfig.ThreadPoolPolicy getBlockPolicy()
Description copied from interface:ThreadPoolConfigReturn the block policy.- Specified by:
getBlockPolicyin interfaceThreadPoolConfig- Returns:
- The block policy.
- See Also:
ThreadPoolConfig.getBlockPolicy()
-
setBlockPolicy
public void setBlockPolicy(ThreadPoolConfig.ThreadPoolPolicy blockPolicy)
Set the block policy.- Parameters:
blockPolicy- The new block policy.- Throws:
java.lang.IllegalArgumentException- If blockPolicy is null.
-
isShutdownGraceful
public boolean isShutdownGraceful()
Description copied from interface:ThreadPoolConfigShould this pool shutdown graceful.- Specified by:
isShutdownGracefulin interfaceThreadPoolConfig- Returns:
trueif the pool should shutdown graceful.- See Also:
ThreadPoolConfig.isShutdownGraceful()
-
setShutdownGraceful
public void setShutdownGraceful(boolean shutdownGraceful)
Set if the pool should be shutdown graceful.- Parameters:
shutdownGraceful- The shutdown graceful setting.
-
getShutdownWaitTimeMs
public int getShutdownWaitTimeMs()
Description copied from interface:ThreadPoolConfigReturn the shutdown wait time in ms. A value below 1 means no waiting at shutdown.- Specified by:
getShutdownWaitTimeMsin interfaceThreadPoolConfig- Returns:
- The shutdown wait time in ms.
- See Also:
ThreadPoolConfig.getShutdownWaitTimeMs()
-
setShutdownWaitTimeMs
public void setShutdownWaitTimeMs(int shutdownWaitTimeMs)
Set the shutdown wait time.- Parameters:
shutdownWaitTimeMs- The new shutdown wait time.
-
getFactory
public java.util.concurrent.ThreadFactory getFactory()
Description copied from interface:ThreadPoolConfigReturn the thread pool factory. A value of null means the default jvm thread pool factory is used.- Specified by:
getFactoryin interfaceThreadPoolConfig- Returns:
- The thread pool factory or
null - See Also:
ThreadPoolConfig.getFactory()
-
setFactory
public void setFactory(java.util.concurrent.ThreadFactory factory)
Set the thread factory.- Parameters:
factory- The thread factory to be used ornullto use the default thread factory.
-
getPriority
public ThreadPoolConfig.ThreadPriority getPriority()
Description copied from interface:ThreadPoolConfigReturn the priority for the threads.- Specified by:
getPriorityin interfaceThreadPoolConfig- Returns:
- The priority for the threads.
- See Also:
ThreadPoolConfig.getPriority()
-
setPriority
public void setPriority(ThreadPoolConfig.ThreadPriority priority)
Set the thread priority.- Parameters:
priority- The thread priority.- Throws:
java.lang.IllegalArgumentException- If priority is null.
-
isDaemon
public boolean isDaemon()
Description copied from interface:ThreadPoolConfigReturn if daemon threads should be created.- Specified by:
isDaemonin interfaceThreadPoolConfig- Returns:
trueif daemon threads should be created.- See Also:
ThreadPoolConfig.isDaemon()
-
setDaemon
public void setDaemon(boolean isDaemon)
Set the daemon handling.- Parameters:
isDaemon- The daemon setting.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-