Class ThreadPool

  • All Implemented Interfaces:
    Lifecycle

    public class ThreadPool
    extends java.lang.Object
    implements Lifecycle
    Thread pool based on ThreadPoolExecutor
    Since:
    5.2
    Author:
    Bela Ban
    • Field Detail

      • thread_pool

        protected java.util.concurrent.Executor thread_pool
      • log

        protected Log log
      • address

        protected Address address
      • thread_dumps

        protected final java.util.concurrent.atomic.AtomicInteger thread_dumps
      • enabled

        protected boolean enabled
      • use_virtual_threads

        protected boolean use_virtual_threads
      • min_threads

        protected int min_threads
      • max_threads

        protected int max_threads
      • keep_alive_time

        protected long keep_alive_time
      • rejection_policy

        protected java.lang.String rejection_policy
      • thread_dumps_threshold

        protected int thread_dumps_threshold
      • thread_dump_path

        protected java.lang.String thread_dump_path
      • increase_max_size_dynamically

        protected boolean increase_max_size_dynamically
      • delta

        protected int delta
      • num_rejected_msgs

        protected final java.util.concurrent.atomic.LongAdder num_rejected_msgs
    • Constructor Detail

      • ThreadPool

        public ThreadPool()
    • Method Detail

      • isEnabled

        public boolean isEnabled()
      • getThreadPool

        public java.util.concurrent.Executor getThreadPool()
      • setThreadPool

        public ThreadPool setThreadPool​(java.util.concurrent.Executor thread_pool)
      • isShutdown

        public boolean isShutdown()
      • getMinThreads

        public int getMinThreads()
      • setMinThreads

        public ThreadPool setMinThreads​(int size)
      • getMaxThreads

        public int getMaxThreads()
      • setMaxThreads

        public ThreadPool setMaxThreads​(int size)
      • getKeepAliveTime

        public long getKeepAliveTime()
      • setKeepAliveTime

        public ThreadPool setKeepAliveTime​(long time)
      • setRejectionPolicy

        public ThreadPool setRejectionPolicy​(java.lang.String policy)
      • getRejectedExecutionHandler

        public java.util.concurrent.RejectedExecutionHandler getRejectedExecutionHandler()
      • setRejectedExecutionHandler

        public void setRejectedExecutionHandler​(java.util.concurrent.RejectedExecutionHandler handler)
      • getThreadDumpsThreshold

        public int getThreadDumpsThreshold()
      • setThreadDumpsThreshold

        public ThreadPool setThreadDumpsThreshold​(int t)
      • getAddress

        public Address getAddress()
      • getIncreaseMaxSizeDynamically

        public boolean getIncreaseMaxSizeDynamically()
      • setIncreaseMaxSizeDynamically

        public ThreadPool setIncreaseMaxSizeDynamically​(boolean b)
      • getDelta

        public int getDelta()
      • setDelta

        public ThreadPool setDelta​(int d)
      • numberOfRejectedMessages

        public long numberOfRejectedMessages()
      • useVirtualThreads

        public boolean useVirtualThreads()
      • useVirtualThreads

        public ThreadPool useVirtualThreads​(boolean b)
      • getNumberOfThreadDumps

        public int getNumberOfThreadDumps()
      • resetThreadDumps

        public void resetThreadDumps()
      • getThreadPoolSize

        public int getThreadPoolSize()
      • getThreadPoolSizeActive

        public int getThreadPoolSizeActive()
      • getLargestSize

        public int getLargestSize()
      • resetStats

        public void resetStats()
      • init

        public void init()
                  throws java.lang.Exception
        Description copied from interface: Lifecycle
        Called after an instance has been created and before it is started.
        Specified by:
        init in interface Lifecycle
        Throws:
        java.lang.Exception - Thrown if the instance cannot be initialized successfully.
      • destroy

        public void destroy()
        Description copied from interface: Lifecycle
        Called after an instance has been stopped. Cleans up resources
        Specified by:
        destroy in interface Lifecycle
      • doExecute

        public void doExecute​(java.lang.Runnable task)
      • pool

        public java.util.concurrent.Executor pool()
      • execute

        public boolean execute​(java.lang.Runnable task)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • createThreadPool

        protected static java.util.concurrent.ExecutorService createThreadPool​(int min_threads,
                                                                               int max_threads,
                                                                               long keep_alive_time,
                                                                               java.lang.String rejection_policy,
                                                                               java.util.concurrent.BlockingQueue<java.lang.Runnable> queue,
                                                                               ThreadFactory factory)