Good to have this Gayan.! I too faced thread pool rejection while deploying multiple applications at once. Will use this impl to overcome that issue.
Thanks, Reka On Fri, Aug 21, 2015 at 11:27 AM, Imesh Gunaratne <im...@apache.org> wrote: > A good finding Gayan! Will this exception thrown to the execute() method > caller? If so we will need to use this. > > Thanks > > On Thu, Aug 20, 2015 at 9:48 PM, Gayan Gunarathne <gay...@wso2.com> wrote: > >> Hi All, >> >> In our current code base , we are creating a execute service with fixed >> size.Even we have used the separate execute services for the each component >> , we can't guarantee the no of threads. That may leads to throw the >> "RejectedExecutionHandler" when no of threads exceeds the predefined >> executor service size. >> >> Shall we use the blocking queue as following to overcome this issue. >> >> final BlockingQueue<Runnable> queue = >> new ArrayBlockingQueue<Runnable>(QUEUE_SIZE);ThreadPoolExecutor >> threadPool = new ThreadPoolExecutor(NUM_THREADS, NUM_THREADS, >> 0L, TimeUnit.MILLISECONDS, >> queue);threadPool.setRejectedExecutionHandler(new RejectedExecutionHandler() >> { >> public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) { >> executor.getQueue().put(r); >> }}); >> >> By default the ThreadPoolExecutor will throw an exception when it size is >> filled.But with this this we can block the job if the queue is full without >> throwing the exception. WDYT? >> >> Thanks, >> Gayan >> >> >> >> -- >> >> Gayan Gunarathne >> Technical Lead, WSO2 Inc. (http://wso2.com) >> Committer & PMC Member, Apache Stratos >> email : gay...@wso2.com | mobile : +94 775030545 <%2B94%20766819985> >> >> >> > > > > -- > Imesh Gunaratne > > Senior Technical Lead, WSO2 > Committer & PMC Member, Apache Stratos > -- Reka Thirunavukkarasu Senior Software Engineer, WSO2, Inc.:http://wso2.com, Mobile: +94776442007