public QueuedThreadPool(@Name("maxThreads") int maxThreads, @Name("minThreads") int minThreads, @Name("idleTimeout") int idleTimeout, @Name("reservedThreads") int reservedThreads, @Name("queue") BlockingQueue<Runnable> queue, @Name("threadGroup") ThreadGroup threadGroup) { if (maxThreads < minThreads) { throw new IllegalArgumentException("max threads ("+maxThreads+") less than min threads (" +minThreads+")"); } setMinThreads(minThreads); setMaxThreads(maxThreads); setIdleTimeout(idleTimeout); setStopTimeout(5000); setReservedThreads(reservedThreads); if (queue==null) { int capacity=Math.max(_minThreads, 8); queue=new BlockingArrayQueue<>(capacity, capacity); } _jobs=queue; _threadGroup=threadGroup; setThreadPoolBudget(new ThreadPoolBudget(this)); }
@Override public @Nullable Void run() { if (threadPool == null) { threadPool = createThreadPool("common", minThreadsShared, maxThreadsShared, keepAliveTimeoutShared); } if (commonHttpClient == null) { commonHttpClient = createHttpClientInternal("common", null, true, threadPool); // we need to set the stop timeout AFTER the client has been started, because // otherwise the Jetty client sets it back to the default value. // We need the stop timeout in order to prevent blocking the deactivation of this // component, see https://github.com/eclipse/smarthome/issues/6632 threadPool.setStopTimeout(0); logger.debug("Jetty shared http client created"); } if (commonWebSocketClient == null) { commonWebSocketClient = createWebSocketClientInternal("common", null, true, threadPool); logger.debug("Jetty shared web socket client created"); } return null; } });
private static QueuedThreadPool createExecutor(String name, int minThreads, int maxThreads) { try { QueuedThreadPool pool = new QueuedThreadPool(maxThreads, minThreads, 60000, null); pool.setName("http-client-" + name); pool.setDaemon(true); pool.start(); pool.setStopTimeout(2000); return pool; } catch (Exception e) { throwIfUnchecked(e); throw new RuntimeException(e); } }
public QueuedThreadPool(int maxThreads, int minThreads, int idleTimeout) { setMinThreads(minThreads); setMaxThreads(maxThreads); setIdleTimeout(idleTimeout); setStopTimeout(5000); }
public QueuedThreadPool(int maxThreads, int minThreads, int idleTimeout) { setMinThreads(minThreads); setMaxThreads(maxThreads); setIdleTimeout(idleTimeout); setStopTimeout(5000); }
private static QueuedThreadPool createExecutor(String name, int minThreads, int maxThreads) { try { QueuedThreadPool pool = new QueuedThreadPool(maxThreads, minThreads, 60000, null); pool.setName("http-client-" + name); pool.setDaemon(true); pool.start(); pool.setStopTimeout(2000); pool.setDetailedDump(true); return pool; } catch (Exception e) { throwIfUnchecked(e); throw new RuntimeException(e); } }
public QueuedThreadPool(@Name("maxThreads") int maxThreads, @Name("minThreads") int minThreads, @Name("idleTimeout") int idleTimeout, @Name("queue") BlockingQueue<Runnable> queue) { setMinThreads(minThreads); setMaxThreads(maxThreads); setIdleTimeout(idleTimeout); setStopTimeout(5000); if (queue==null) { int capacity=Math.max(_minThreads, 8); queue=new BlockingArrayQueue<>(capacity, capacity); } _jobs=queue; }
public QueuedThreadPool(@Name("maxThreads") int maxThreads, @Name("minThreads") int minThreads, @Name("idleTimeout") int idleTimeout, @Name("reservedThreads") int reservedThreads, @Name("queue") BlockingQueue<Runnable> queue, @Name("threadGroup") ThreadGroup threadGroup) { if (maxThreads < minThreads) { throw new IllegalArgumentException("max threads ("+maxThreads+") less than min threads (" +minThreads+")"); } setMinThreads(minThreads); setMaxThreads(maxThreads); setIdleTimeout(idleTimeout); setStopTimeout(5000); setReservedThreads(reservedThreads); if (queue==null) { int capacity=Math.max(_minThreads, 8); queue=new BlockingArrayQueue<>(capacity, capacity); } _jobs=queue; _threadGroup=threadGroup; setThreadPoolBudget(new ThreadPoolBudget(this)); }