Class ThreadPoolExecutorFactoryBean

  • All Implemented Interfaces:
    org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean, org.springframework.beans.factory.InitializingBean

    public class ThreadPoolExecutorFactoryBean
    extends org.springframework.beans.factory.config.AbstractFactoryBean
    Spring FactoryBean which enables the configuration of ThreadPoolExecutor instances using Spring. Most of this code has been copied from the ThreadPoolTaskExecutor class available in Spring 2.0.
    • Field Summary

      • Fields inherited from class org.springframework.beans.factory.config.AbstractFactoryBean

        logger
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.Object createInstance()  
      protected void destroyInstance​(java.lang.Object o)  
      java.lang.Class getObjectType()  
      void setCorePoolSize​(int corePoolSize)
      Set the ThreadPoolExecutor's core pool size.
      void setKeepAliveSeconds​(int keepAliveSeconds)
      Set the ThreadPoolExecutor's keep alive seconds.
      void setMaxPoolSize​(int maxPoolSize)
      Set the ThreadPoolExecutor's maximum pool size.
      void setQueueCapacity​(int queueCapacity)
      Set the capacity for the ThreadPoolExecutor's BlockingQueue.
      void setRejectedExecutionHandler​(java.util.concurrent.RejectedExecutionHandler rejectedExecutionHandler)
      Set the RejectedExecutionHandler to use for the ThreadPoolExecutor.
      void setThreadFactory​(java.util.concurrent.ThreadFactory threadFactory)
      Set the ThreadFactory to use for the ThreadPoolExecutor's thread pool.
      • Methods inherited from class org.springframework.beans.factory.config.AbstractFactoryBean

        afterPropertiesSet, destroy, getBeanFactory, getBeanTypeConverter, getEarlySingletonInterfaces, getObject, isSingleton, setBeanClassLoader, setBeanFactory, setSingleton
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ThreadPoolExecutorFactoryBean

        public ThreadPoolExecutorFactoryBean()
    • Method Detail

      • setCorePoolSize

        public void setCorePoolSize​(int corePoolSize)
        Set the ThreadPoolExecutor's core pool size. Default is 1.
      • setMaxPoolSize

        public void setMaxPoolSize​(int maxPoolSize)
        Set the ThreadPoolExecutor's maximum pool size. Default is Integer.MAX_VALUE.
      • setKeepAliveSeconds

        public void setKeepAliveSeconds​(int keepAliveSeconds)
        Set the ThreadPoolExecutor's keep alive seconds. Default is 60.
      • setQueueCapacity

        public void setQueueCapacity​(int queueCapacity)
        Set the capacity for the ThreadPoolExecutor's BlockingQueue. Default is Integer.MAX_VALUE.

        Any positive value will lead to a LinkedBlockingQueue instance; any other value will lead to a SynchronousQueue instance.

        See Also:
        LinkedBlockingQueue, SynchronousQueue
      • setThreadFactory

        public void setThreadFactory​(java.util.concurrent.ThreadFactory threadFactory)
        Set the ThreadFactory to use for the ThreadPoolExecutor's thread pool. Default is the ThreadPoolExecutor's default thread factory.
        See Also:
        Executors.defaultThreadFactory()
      • setRejectedExecutionHandler

        public void setRejectedExecutionHandler​(java.util.concurrent.RejectedExecutionHandler rejectedExecutionHandler)
        Set the RejectedExecutionHandler to use for the ThreadPoolExecutor. Default is the ThreadPoolExecutor's default abort policy.
        See Also:
        ThreadPoolExecutor.AbortPolicy
      • createInstance

        protected java.lang.Object createInstance()
                                           throws java.lang.Exception
        Specified by:
        createInstance in class org.springframework.beans.factory.config.AbstractFactoryBean
        Throws:
        java.lang.Exception
      • destroyInstance

        protected void destroyInstance​(java.lang.Object o)
                                throws java.lang.Exception
        Overrides:
        destroyInstance in class org.springframework.beans.factory.config.AbstractFactoryBean
        Throws:
        java.lang.Exception
      • getObjectType

        public java.lang.Class getObjectType()
        Specified by:
        getObjectType in interface org.springframework.beans.factory.FactoryBean
        Specified by:
        getObjectType in class org.springframework.beans.factory.config.AbstractFactoryBean