Class StandardThreadExecutor

    • Field Detail

      • threadPriority

        protected int threadPriority
        Default thread priority
      • daemon

        protected boolean daemon
        Run threads in daemon or non-daemon state
      • namePrefix

        protected java.lang.String namePrefix
        Default name prefix for the thread name
      • maxThreads

        protected int maxThreads
        max number of threads
      • minSpareThreads

        protected int minSpareThreads
        min number of threads
      • maxIdleTime

        protected int maxIdleTime
        idle time in milliseconds
      • name

        protected java.lang.String name
        the name of this thread pool
      • maxQueueSize

        protected int maxQueueSize
        The maximum number of elements that can queue up before we reject them
      • threadRenewalDelay

        protected long threadRenewalDelay
        After a context is stopped, threads in the pool are renewed. To avoid renewing all threads at the same time, this delay is observed between 2 threads being renewed.
    • Constructor Detail

      • StandardThreadExecutor

        public StandardThreadExecutor()
    • Method Detail

      • execute

        public void execute​(java.lang.Runnable command)
        Specified by:
        execute in interface java.util.concurrent.Executor
      • contextStopping

        public void contextStopping()
      • getThreadPriority

        public int getThreadPriority()
      • isDaemon

        public boolean isDaemon()
      • getNamePrefix

        public java.lang.String getNamePrefix()
      • getMaxIdleTime

        public int getMaxIdleTime()
      • getMinSpareThreads

        public int getMinSpareThreads()
      • getName

        public java.lang.String getName()
        Specified by:
        getName in interface Executor
      • setThreadPriority

        public void setThreadPriority​(int threadPriority)
      • setDaemon

        public void setDaemon​(boolean daemon)
      • setNamePrefix

        public void setNamePrefix​(java.lang.String namePrefix)
      • setMaxIdleTime

        public void setMaxIdleTime​(int maxIdleTime)
      • setMaxThreads

        public void setMaxThreads​(int maxThreads)
      • setMinSpareThreads

        public void setMinSpareThreads​(int minSpareThreads)
      • setName

        public void setName​(java.lang.String name)
      • setMaxQueueSize

        public void setMaxQueueSize​(int size)
      • getMaxQueueSize

        public int getMaxQueueSize()
      • getThreadRenewalDelay

        public long getThreadRenewalDelay()
      • setThreadRenewalDelay

        public void setThreadRenewalDelay​(long threadRenewalDelay)
      • getActiveCount

        public int getActiveCount()
        Description copied from interface: ResizableExecutor
        Returns the approximate number of threads that are actively executing tasks.
        Specified by:
        getActiveCount in interface ResizableExecutor
        Returns:
        the number of threads
      • getCompletedTaskCount

        public long getCompletedTaskCount()
      • getCorePoolSize

        public int getCorePoolSize()
      • getLargestPoolSize

        public int getLargestPoolSize()
      • getPoolSize

        public int getPoolSize()
        Description copied from interface: ResizableExecutor
        Returns the current number of threads in the pool.
        Specified by:
        getPoolSize in interface ResizableExecutor
        Returns:
        the number of threads
      • getQueueSize

        public int getQueueSize()
      • resizePool

        public boolean resizePool​(int corePoolSize,
                                  int maximumPoolSize)
        Specified by:
        resizePool in interface ResizableExecutor
      • getDomainInternal

        protected java.lang.String getDomainInternal()
        Description copied from class: LifecycleMBeanBase
        Method implemented by sub-classes to identify the domain in which MBeans should be registered.
        Specified by:
        getDomainInternal in class LifecycleMBeanBase
        Returns:
        The name of the domain to use to register MBeans.
      • getObjectNameKeyProperties

        protected java.lang.String getObjectNameKeyProperties()
        Description copied from class: LifecycleMBeanBase
        Allow sub-classes to specify the key properties component of the ObjectName that will be used to register this component.
        Specified by:
        getObjectNameKeyProperties in class LifecycleMBeanBase
        Returns:
        The string representation of the key properties component of the desired ObjectName
      • shutdown

        public void shutdown()
        Specified by:
        shutdown in interface java.util.concurrent.ExecutorService
      • shutdownNow

        public java.util.List<java.lang.Runnable> shutdownNow()
        Specified by:
        shutdownNow in interface java.util.concurrent.ExecutorService
      • isShutdown

        public boolean isShutdown()
        Specified by:
        isShutdown in interface java.util.concurrent.ExecutorService
      • isTerminated

        public boolean isTerminated()
        Specified by:
        isTerminated in interface java.util.concurrent.ExecutorService
      • awaitTermination

        public boolean awaitTermination​(long timeout,
                                        java.util.concurrent.TimeUnit unit)
                                 throws java.lang.InterruptedException
        Specified by:
        awaitTermination in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
      • submit

        public <T> java.util.concurrent.Future<T> submit​(java.util.concurrent.Callable<T> task)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
      • submit

        public <T> java.util.concurrent.Future<T> submit​(java.lang.Runnable task,
                                                         T result)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
      • submit

        public java.util.concurrent.Future<?> submit​(java.lang.Runnable task)
        Specified by:
        submit in interface java.util.concurrent.ExecutorService
      • invokeAll

        public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
                                                                     throws java.lang.InterruptedException
        Specified by:
        invokeAll in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
      • invokeAll

        public <T> java.util.List<java.util.concurrent.Future<T>> invokeAll​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
                                                                            long timeout,
                                                                            java.util.concurrent.TimeUnit unit)
                                                                     throws java.lang.InterruptedException
        Specified by:
        invokeAll in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
      • invokeAny

        public <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
                        throws java.lang.InterruptedException,
                               java.util.concurrent.ExecutionException
        Specified by:
        invokeAny in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
      • invokeAny

        public <T> T invokeAny​(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
                               long timeout,
                               java.util.concurrent.TimeUnit unit)
                        throws java.lang.InterruptedException,
                               java.util.concurrent.ExecutionException,
                               java.util.concurrent.TimeoutException
        Specified by:
        invokeAny in interface java.util.concurrent.ExecutorService
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
        java.util.concurrent.TimeoutException