package org.gcube.data.spd.utils; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ExecutorsContainer { private static final int MAX_SEARCH_THREAD_POOL= 100; private static final int MAX_JOB_POOL= 10; private static ExecutorService searchThreadPool = Executors.newFixedThreadPool(MAX_SEARCH_THREAD_POOL);; private static ExecutorService jobThreadPool = Executors.newFixedThreadPool(MAX_JOB_POOL); public static void execSearch(Runnable runnable){ searchThreadPool.execute(runnable); } public static void execJob(Runnable runnable){ jobThreadPool.execute(runnable); } public static void stopAll(){ if (searchThreadPool!=null && jobThreadPool!=null){ searchThreadPool.shutdownNow(); jobThreadPool.shutdownNow(); searchThreadPool = null; jobThreadPool = null; } } }