Class 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)
    • 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

      • setMinPoolSize

        public void setMinPoolSize​(int minPoolSize)
        Set the min pool size.
        Parameters:
        minPoolSize - New min pool size.
      • setMaxPoolSize

        public void setMaxPoolSize​(int maxPoolSize)
        Set the max pool size.
        Parameters:
        maxPoolSize - New max pool size.
      • setQueueSize

        public void setQueueSize​(int queueSize)
        Set the queue size.
        Parameters:
        queueSize - New queue size.
      • getMaxThreadAge

        public long getMaxThreadAge()
        Description copied from interface: ThreadPoolConfig
        Return the maximum age before a thread is retired.
        Specified by:
        getMaxThreadAge in interface ThreadPoolConfig
        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.
      • setKeepAliveTime

        public void setKeepAliveTime​(long keepAliveTime)
        Set the keep alive time.
        Parameters:
        keepAliveTime - New keep alive time.
      • 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.
      • setShutdownGraceful

        public void setShutdownGraceful​(boolean shutdownGraceful)
        Set if the pool should be shutdown graceful.
        Parameters:
        shutdownGraceful - The shutdown graceful setting.
      • 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: ThreadPoolConfig
        Return the thread pool factory. A value of null means the default jvm thread pool factory is used.
        Specified by:
        getFactory in interface ThreadPoolConfig
        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 or null to use the default thread factory.
      • setPriority

        public void setPriority​(ThreadPoolConfig.ThreadPriority priority)
        Set the thread priority.
        Parameters:
        priority - The thread priority.
        Throws:
        java.lang.IllegalArgumentException - If priority is null.
      • setDaemon

        public void setDaemon​(boolean isDaemon)
        Set the daemon handling.
        Parameters:
        isDaemon - The daemon setting.
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object